Compare commits

..

1 Commits

Author SHA1 Message Date
Joachim Henze
f362ced23c [NETSTAT] pragma once, reorder, fix pl-PL.rc
- add a pragma once into the header
- order -o options alphabetically also for the global variables, not only in usage-help
- pl-PL.rc: fix wrong alignment of IDS_ETHERNET_THEADER and its data for
- pl-PL.rc: also don't pad the data with 2 spaces here in the beginning, which
            we don't do in any other locale, and MS netstat also doesn't do that here.
            pl-PL.rc most likely got this wrong because it was created while en-US wasn't finished yet.
2023-07-06 02:26:29 +02:00
3317 changed files with 70954 additions and 170418 deletions

1
.github/FUNDING.yml vendored
View File

@@ -1 +1,2 @@
custom: ['https://reactos.org/donate/', 'https://www.paypal.me/ReactOS']
liberapay: ReactOS

44
.github/labeler.yml vendored
View File

@@ -1,45 +1,29 @@
# Labelling by the files touched
ATL:
- changed-files:
- any-glob-to-any-file:
- sdk/lib/atl/**
- sdk/lib/atl/**
drivers:
- changed-files:
- any-glob-to-any-file:
- drivers/**
- sdk/lib/drivers/**
- all-globs-to-any-file:
- win32ss/drivers/**
- '!win32ss/drivers/font/**'
- drivers/**
- sdk/lib/drivers/**
- any: ["win32ss/drivers/**", "!win32ss/drivers/font/**"]
freeldr:
- changed-files:
- any-glob-to-any-file:
- boot/freeldr/**
- boot/freeldr/**
"kernel&hal":
- changed-files:
- any-glob-to-any-file:
- hal/**
- ntoskrnl/**
- hal/**
- ntoskrnl/**
ROSTESTS:
- changed-files:
- any-glob-to-any-file:
- modules/rostests/**
- modules/rostests/**
shell:
- changed-files:
- any-glob-to-any-file:
- base/shell/explorer/**
- base/shell/rshell/**
- dll/shellext/**
- dll/win32/browseui/**
- dll/win32/shell32/**
- base/shell/explorer/**
- base/shell/rshell/**
- dll/shellext/**
- dll/win32/browseui/**
- dll/win32/shell32/**
Win32SS:
- changed-files:
- any-glob-to-any-file:
- win32ss/**
- win32ss/**

View File

@@ -8,12 +8,6 @@ jobs:
compiler: [gcc, clang]
arch: [i386, amd64]
config: [Debug, Release]
dllver: ['0x502', '0x600']
exclude:
- dllver: 0x600
compiler: clang
- dllver: 0x600
config: Release
fail-fast: false
runs-on: ubuntu-latest
steps:
@@ -21,12 +15,12 @@ jobs:
id: get_rosbe_spec
run: |
gcc -march=native -Q --help=target | grep "\-march= " | awk '{print $NF}'
echo march-sha=$(gcc -march=native -Q --help=target | sha1sum | awk '{print $1}') >> $GITHUB_OUTPUT
echo git-sha=$(git ls-remote https://github.com/zefklop/RosBE.git | grep unix_amd64 | awk '{print $1}') >> $GITHUB_OUTPUT
echo ::set-output name=march-sha::$(gcc -march=native -Q --help=target | sha1sum | awk '{print $1}')
echo ::set-output name=git-sha::$(git ls-remote https://github.com/zefklop/RosBE.git | grep unix_amd64 | awk '{print $1}')
wget https://gist.githubusercontent.com/zefklop/b2d6a0b470c70183e93d5285a03f5899/raw/build_rosbe_ci.sh
- name: Get RosBE
id: get_rosbe
uses: actions/cache@v4
uses: actions/cache@v2
with:
path: RosBE-CI
key: RosBE-CI-${{runner.os}}-${{steps.get_rosbe_spec.outputs.march-sha}}-${{steps.get_rosbe_spec.outputs.git-sha}}-${{hashfiles('./build_rosbe_ci.sh')}}
@@ -46,16 +40,16 @@ jobs:
sudo ./llvm.sh $LLVM_VERSION
echo "D_CLANG_VERSION=-DCLANG_VERSION=$LLVM_VERSION" >> $GITHUB_ENV
- name: Source checkout
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
path: src
- name: Set up cache for ccache
uses: actions/cache@v4
uses: actions/cache@v2
with:
path: ccache
key: ccache-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}}
key: ccache-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
restore-keys: |
ccache-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-
ccache-${{matrix.compiler}}-${{matrix.arch}}-
- name: Set ccache settings
run: |
echo "CCACHE_BASEDIR=${{github.workspace}}" >> $GITHUB_ENV
@@ -66,7 +60,7 @@ jobs:
if: ${{ matrix.compiler == 'gcc' }}
run: echo "CCACHE_COMPILERCHECK=string:${{steps.get_rosbe_spec.outputs.git-sha}}-${{hashfiles('./build_rosbe_ci.sh')}}" >> $GITHUB_ENV
- name: Configure
run: echo 'cmake -S ${{github.workspace}}/src -B ${{github.workspace}}/build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-${{matrix.compiler}}.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DDLL_EXPORT_VERSION=${{matrix.dllver}} -DENABLE_CCACHE=1 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{env.D_CLANG_VERSION}}' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
run: echo 'cmake -S ${{github.workspace}}/src -B ${{github.workspace}}/build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-${{matrix.compiler}}.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_CCACHE=1 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{env.D_CLANG_VERSION}}' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
- name: Build
run: echo 'cmake --build ${{github.workspace}}/build -- -k0' | ${{github.workspace}}/RosBE-CI/RosBE.sh . 0 ${{matrix.arch}}
- name: Generate ISOs
@@ -74,9 +68,9 @@ jobs:
- name: Print ccache statistics
run: ccache -s
- name: Upload ISOs
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: reactos-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}}
name: reactos-${{matrix.compiler}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: |
build/bootcd.iso
build/livecd.iso
@@ -88,7 +82,6 @@ jobs:
toolset: ['14.2', '14.1', '14.0'] # VS 2019, 2017, and 2015 (see below)
arch: [i386, amd64]
config: [Debug, Release]
dllver: ['0x502', '0x600']
exclude: # VS 2019, 2017 only with windows-latest; VS 2015 only with windows-2019
- os: windows-2019
toolset: '14.2'
@@ -96,14 +89,6 @@ jobs:
toolset: '14.1'
- os: windows-latest
toolset: '14.0'
- dllver: 0x600
os: windows-2019
- dllver: 0x600
toolset: '14.1'
- dllver: 0x600
toolset: '14.0'
- dllver: 0x600
config: Release
fail-fast: false
runs-on: ${{matrix.os}}
steps:
@@ -129,27 +114,27 @@ jobs:
arch: amd64
toolset: ${{matrix.toolset}}
- name: Source checkout
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
path: src
- name: Configure
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DDLL_EXPORT_VERSION=${{matrix.dllver}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
run: cmake -S src -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.config}} -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1
- name: Build
run: cmake --build build -- -k0
- name: Generate ISOs
run: cmake --build build --target bootcd --target livecd
- name: Upload ISOs
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}}
name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: |
build/bootcd.iso
build/livecd.iso
- name: Upload debug symbols
if: ${{ matrix.config == 'Debug' }}
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{matrix.dllver}}-${{github.sha}}
name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: build/msvc_pdb
build-msvc-arm:
@@ -183,7 +168,7 @@ jobs:
arch: amd64_arm64
toolset: ${{matrix.toolset}}
- name: Source checkout
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
path: src
- name: Configure
@@ -197,21 +182,17 @@ jobs:
- name: Build rosapps
if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target modules/rosapps/all
- name: Build subsystems
if: ${{ matrix.arch == 'arm' }}
run: cmake --build build --target subsystems/all
- name: Build some applications (arm64)
if: ${{ matrix.arch == 'arm64' }}
run: cmake --build build --target calc magnify mstsc notepad osk regedit taskmgr winmine wordpad base/applications/screensavers/all -- -k0
- name: Upload compiled binaries
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: reactos-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: |
build/base
build/dll/cpl
build/modules/rosapps
build/subsystems
!**/CMakeFiles
!**/cmake_install.cmake
!**/*.asm
@@ -227,7 +208,7 @@ jobs:
!**/*.tlb
- name: Upload debug symbols
if: ${{ matrix.config == 'Debug' }}
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: reactos-syms-msvc${{matrix.toolset}}-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: build/msvc_pdb
@@ -268,7 +249,7 @@ jobs:
- name: Add LLVM to PATH
run: echo "${env:LLVM_PATH}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Source checkout
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
path: src
- name: Configure
@@ -278,7 +259,7 @@ jobs:
- name: Generate ISOs
run: cmake --build build --target bootcd --target livecd
- name: Upload ISOs
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: reactos-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: |
@@ -286,33 +267,34 @@ jobs:
build/livecd.iso
- name: Upload debug symbols
if: ${{ matrix.config == 'Debug' }}
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: reactos-syms-clang-cl-${{matrix.arch}}-${{matrix.config}}-${{github.sha}}
path: build/msvc_pdb
build-msbuild-i386:
name: MSBuild (i386)
runs-on: windows-2019
steps:
- name: Install Flex and Bison
run: |
curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
7z x flexbison.7z -O${{github.workspace}}\bin
echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Add CL to PATH
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64_x86
- uses: actions/checkout@v4
with:
path: src
- name: Configure
run: |
mkdir build
cd build
cmake -G "Visual Studio 16 2019" -A Win32 -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{github.workspace}}\src
- name: Build
run: cmake --build ${{github.workspace}}\build --target bootcd --target livecd
# Disable MSBuild for the moment being until a proper fix is provided -- see CORE-18911
# build-msbuild-i386:
# name: MSBuild (i386)
# runs-on: windows-2019
# steps:
# - name: Install Flex and Bison
# run: |
# curl -O https://svn.reactos.org/storage/vperevertkin/flexbison.7z
# 7z x flexbison.7z -O${{github.workspace}}\bin
# echo "${{github.workspace}}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
# echo "BISON_PKGDATADIR=${{github.workspace}}\bin\share\bison" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# echo "M4=${{github.workspace}}\bin\m4.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# - name: Add CL to PATH
# uses: ilammy/msvc-dev-cmd@v1
# with:
# arch: amd64_x86
# - uses: actions/checkout@v2
# with:
# path: src
# - name: Configure
# run: |
# mkdir build
# cd build
# cmake -G "Visual Studio 16 2019" -A Win32 -DCMAKE_TOOLCHAIN_FILE:FILEPATH=toolchain-msvc.cmake -DARCH:STRING=i386 -DENABLE_ROSTESTS=1 -DENABLE_ROSAPPS=1 ${{github.workspace}}\src
# - name: Build
# run: cmake --build ${{github.workspace}}\build --target bootcd --target livecd

View File

@@ -6,6 +6,6 @@ jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
- uses: actions/labeler@v3
with:
sync-labels: true
repo-token: "${{ secrets.GITHUB_TOKEN }}"

View File

@@ -14,10 +14,11 @@ jobs:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v9
- uses: actions/stale@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 120

View File

@@ -232,8 +232,7 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
-D_WIN32_WINNT=0x502
-D_WIN32_WINDOWS=0x502
-D_SETUPAPI_VER=0x502
-DMINGW_HAS_SECURE_API=1
-DDLL_EXPORT_VERSION=${DLL_EXPORT_VERSION})
-DMINGW_HAS_SECURE_API=1)
# Arch Options
if(ARCH STREQUAL "i386")
@@ -336,12 +335,14 @@ Enable this if the module uses typeid or dynamic_cast. You will probably need to
add_subdirectory(sdk/include/reactos/mc)
add_subdirectory(sdk/include/asm)
if(ARCH MATCHES "64$")
include(sdk/cmake/baseaddress64.cmake)
elseif(NO_ROSSYM)
if(NO_ROSSYM)
include(sdk/cmake/baseaddress_dwarf.cmake)
elseif(MSVC)
include(sdk/cmake/baseaddress_msvc.cmake)
if (ARCH STREQUAL "amd64")
include(sdk/cmake/baseaddress_msvc_x64.cmake)
else()
include(sdk/cmake/baseaddress_msvc.cmake)
endif()
else()
include(sdk/cmake/baseaddress.cmake)
endif()

View File

@@ -96,7 +96,7 @@
# Apisets
# M: learn-more, learn_more, Mark Jansen
# S: Maintained
/sdk/lib/apisets/ @learn-more
/dll/apisets/ @learn-more
# Application Compatibility subystem
# M: learn-more, learn_more, Mark Jansen

View File

@@ -63,19 +63,13 @@ Our commit style is defined in a __[commit template]__. Use it as a reference or
### Rules and Recommendations
- *Use your __real name__ and __real email__.* We do not accept anonymous code contributions!
- Every commit that changes code or translations should have author's full legal name (in latin letters, diacritics allowed).
- It's recommended to have the same full name set in GitHub profile (in the [Name field here][GitHub Profile Settings]) that matches one specified in commits.
- There is an exception for media changes, such as changes of art (wallpapers, themes, icons, sounds) and out-of-code documentation.
- In these specific cases it's allowed to use a nickname or alias as author's name, and it's recommended to have the same name set in GitHub profile (in the [Name field here][GitHub Profile Settings]) matching one specified in commits.
- In any case the author must use a real e-mail address, this includes git commits (`user.email` setting) and GitHub [e-mail settings][GitHub Email Settings] - the checkbox "Keep my email addresses private" must be unchecked there.
- In order to *keep your privacy*, select appropriate "Primary email address" that will be applied to your commits in GitHub [e-mail settings][GitHub Email Settings].
- *Use your __real name__ and __real email__.* We do not accept anonymous contributions!
- *Ensure your contribution is properly described.* Include the relevant issue number if applicable.
- *Put only related changes.* It will make reviewing easier as the reviewer needs to recall less information about the existing source code that is changed.
- *Search for similar pull requests/patches before submitting.* It may be that a similar pull request or issue was opened previously. Comment and review on that one instead.
- *Keep your contribution small and focused on the topic.* It can be tempting to fix existing issues as you come across them while reading the source code. Resist the temptation and put in a note in the source code instead, or (even better) put the issue in the issue tracking system.
- *Respect our __[Coding Style]__ and __[Programming Guidelines]__.*
- *Do not be afraid to ask questions.* Ask our developers in the [chat].
- *Do not be afraid to ask questions.* Ask our developers on JIRA or [IRC] channel.
To amend your commit with your name and e-mail (in any case you've forgot to set your name/e-mail) please take a look at this [guide](https://reactos.org/wiki/ReactOS_Git_For_Dummies#Amending_your_commit_with_name.2FE-mail). To set your name/e-mail globally for future commits that you push, [read this](https://reactos.org/wiki/ReactOS_Git_For_Dummies#Assign_commits_with_your_name_.26_E-mail_automatically).
@@ -85,7 +79,7 @@ Finding a good project to start with can be a challenge, because when starting o
- Find a test that fails, and try to make it succeed: <https://reactos.org/testman/>
- Look around in JIRA, and if you have problems finding nice projects to start with, there is a label for this: <https://jira.reactos.org/issues/?jql=labels%20%3D%20starter-project>
- Ask for help in the [chat]
- Ask for help on [IRC]
- Additionally, there are some tests that cause crashes/hangs, but these might be slightly harder: <https://jira.reactos.org/browse/ROSTESTS-125>
[clean room reverse engineering]: https://en.wikipedia.org/wiki/Clean_room_design
@@ -96,14 +90,12 @@ Finding a good project to start with can be a challenge, because when starting o
[migration to GitHub]: https://reactos.org/project-news/reactos-repository-migrated-github/
[humans are terrible at tracking large amount of information]: https://www.eurekalert.org/pub_releases/2005-03/aps-hmc030805.php
[Pull requests]: https://help.github.com/articles/about-pull-requests/
[GitHub Profile Settings]: https://github.com/settings/profile
[GitHub Email Settings]: https://github.com/settings/emails
[tips for reviewing patches]: https://www.drupal.org/patch/review
[missing functionality]: https://reactos.org/wiki/Missing_ReactOS_Functionality
[patch]: https://git-scm.com/docs/git-format-patch
[Submitting Patches]: https://reactos.org/wiki/Submitting_Patches
[Coding Style]: https://reactos.org/wiki/Coding_Style
[chat]: https://reactos.org/wiki/Mattermost
[IRC]: https://reactos.org/wiki/Connect_to_the_ReactOS_IRC_Channels
[Programming Guidelines]: https://reactos.org/wiki/Programming_Guidelines
[3rd Party Files.txt]: /media/doc/3rd_Party_Files.txt
[README.WINE]: /media/doc/README.WINE

View File

@@ -14,17 +14,3 @@ In addition, in order to avoid coming off as rude to helpful contributors, pleas
- Asking the contributor to do unrelated work
- Closing without providing a reason
- Merging with the intention to rewrite that code soon after
Before merging a PR, make sure it follows the [contributing rules](CONTRIBUTING.md#rules-and-recommendations), but more importantly:
- Make sure the author has specified a real e-mail in all PR commits
- If PR contains code or translations, make sure the author has not specified a nickname or alias, but a full legal name in all PR commits
- If PR contains media (wallpapers, themes, icons, sounds) or out-of-code documentation, make sure the author has specified the name or alias in all PR commits
- If PR contains mixed code with media changes, handle it as PR with code
- Important notes before using "Squash and merge" strategy on a PR:
- Make sure the author's name in GitHub profile matches one in commits. If this is not the case, ask the author to set it accordingly.
- If the author does not want to set the name in GitHub profile:
- "no squash merge" label needs to be added to a PR.
- Make sure every commit message is formatted correctly as in [.gitmessage](https://github.com/reactos/reactos/blob/master/.gitmessage).
- Finally in this case a PR has to be merged either using "Rebase and merge" strategy or manually.
- By pressing "Squash and merge" button in a PR you can make sure the author does not use no-reply e-mail -
under the commit message there will be a text label saying: `This commit will be authored by <address@email.com>`

View File

@@ -127,10 +127,10 @@ The main development is done on [GitHub](https://github.com/reactos/reactos). We
There is also an obsolete [SVN archive repository](https://svn.reactos.org/reactos/) that is kept for historical purposes.
[coverity.badge]: https://scan.coverity.com/projects/205/badge.svg?flat=1
[rosbewin.badge]: https://img.shields.io/badge/RosBE_Windows-2.2.1-0688CB.svg
[rosbeunix.badge]: https://img.shields.io/badge/RosBE_Unix-2.2.1-0688CB.svg
[rosbewin.badge]: https://img.shields.io/badge/RosBE_Windows-2.2.0-0688CB.svg
[rosbeunix.badge]: https://img.shields.io/badge/RosBE_Unix-2.2-0688CB.svg
[prwelcome.badge]: https://img.shields.io/badge/PR-welcome-0688CB.svg
[coverity.link]: https://scan.coverity.com/projects/205
[rosbewin.link]: https://sourceforge.net/projects/reactos/files/RosBE-Windows/i386/2.2.1/
[rosbeunix.link]: https://sourceforge.net/projects/reactos/files/RosBE-Unix/2.2.1/
[rosbewin.link]: https://sourceforge.net/projects/reactos/files/RosBE-Windows/i386/2.2.0/
[rosbeunix.link]: https://sourceforge.net/projects/reactos/files/RosBE-Unix/2.2/

View File

@@ -6,7 +6,6 @@ add_subdirectory(charmap)
add_subdirectory(clipbrd)
add_subdirectory(cmdutils)
add_subdirectory(control)
add_subdirectory(ctfmon)
add_subdirectory(drwtsn32)
add_subdirectory(dxdiag)
add_subdirectory(extrac32)

View File

@@ -1,11 +1,4 @@
/*
* PROJECT: ReactOS CACLS
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2018 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2024 Andrei Miloiu <miloiuandrei@gmail.com>
*/
/* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
STRINGTABLE
@@ -41,7 +34,7 @@ Abrevieri:\n\
OI - Moștenire obiecte.\n\
ACE moștenită de fișiere.\n\
IO - Moștenire simplă.\n\
ACE neaplicată folderelor/fișierelor curente.\n"
ACE neaplicată dosarelor/fișierelor curente.\n"
IDS_ABBR_CI "(CI)"
IDS_ABBR_OI "(OI)"
IDS_ABBR_IO "(IO)"

View File

@@ -1,4 +1,5 @@
#pragma once
#ifndef __CALC_H__
#define __CALC_H__
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
@@ -15,7 +16,6 @@
#include <htmlhelp.h>
#endif
#include <limits.h>
#include <strsafe.h>
/* RESOURCES */
#include "resource.h"
@@ -280,3 +280,5 @@ INT_PTR CALLBACK AboutDlgProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp);
void ConvExecute(HWND hWnd);
void ConvAdjust(HWND hWnd, int n_cat);
void ConvInit(HWND hWnd);
#endif /* __CALC_H__ */

View File

@@ -8,7 +8,7 @@ LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калкулатор за ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -156,7 +156,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калкулатор за ReactOS"
MENU IDR_MENU_STANDARD
@@ -221,7 +221,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калкулатор за ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -7,7 +7,7 @@ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS kalkulačka"
MENU IDR_MENU_SCIENTIFIC_1
@@ -155,7 +155,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulačka"
MENU IDR_MENU_STANDARD
@@ -220,7 +220,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulačka"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rechner"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rechner"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rechner"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Αριθμομηχανή"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Αριθμομηχανή"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Αριθμομηχανή"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Calculator"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Calculator"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Calculator"
MENU IDR_MENU_STANDARD

View File

@@ -8,7 +8,7 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora de ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -156,7 +156,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora de ReactOS"
MENU IDR_MENU_STANDARD
@@ -221,7 +221,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora de ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculatrice ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculatrice ReactOS"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculatrice ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_LAYOUTRTL
CAPTION "מחשבון ReactOS"
@@ -153,7 +153,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_LAYOUTRTL
CAPTION "מחשבון ReactOS"
@@ -219,7 +219,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_LAYOUTRTL
CAPTION "מחשבון ReactOS"

View File

@@ -10,7 +10,7 @@ LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Számológép"
MENU IDR_MENU_SCIENTIFIC_1
@@ -158,7 +158,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Számológép"
MENU IDR_MENU_STANDARD
@@ -223,7 +223,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Számológép"
MENU IDR_MENU_STANDARD

View File

@@ -9,7 +9,7 @@ LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -157,7 +157,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_STANDARD
@@ -222,7 +222,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calcolatrice ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calcolatrice ReactOS"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calcolatrice ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 電卓"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 電卓"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 電卓"
MENU IDR_MENU_STANDARD

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 계산기"
MENU IDR_MENU_SCIENTIFIC_1
@@ -152,7 +152,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 계산기"
MENU IDR_MENU_STANDARD
@@ -217,7 +217,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 계산기 정보"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rekenmachine"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rekenmachine"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Rekenmachine"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulator"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulator"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkulator"
MENU IDR_MENU_STANDARD

View File

@@ -11,7 +11,7 @@ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -159,7 +159,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_STANDARD
@@ -224,7 +224,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulator ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -152,7 +152,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
MENU IDR_MENU_STANDARD
@@ -217,7 +217,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -152,7 +152,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
MENU IDR_MENU_STANDARD
@@ -217,7 +217,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculadora ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -4,16 +4,16 @@
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2009 Petru Dimitriu <petrimetri@gmail.com>
* Copyright 2011-2018 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2022-2024 Andrei Miloiu <miloiuandrei@gmail.com>
* Copyright 2022 Andrei Miloiu <miloiuandrei@gmail.com>
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculator"
CAPTION "Minicalculator"
MENU IDR_MENU_SCIENTIFIC_1
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -153,15 +153,15 @@ BEGIN
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Backspace", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
PUSHBUTTON "Înapoi", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER |
BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 305, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculator"
CAPTION "Minicalculator"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
@@ -169,7 +169,7 @@ BEGIN
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "CE", IDC_BUTTON_CE, 80, 23, 41, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
PUSHBUTTON "Backspace", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
PUSHBUTTON "Înapoi", IDC_BUTTON_BACK, 36, 23, 42, 18, BS_CENTER | BS_VCENTER |
BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 159, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
PUSHBUTTON "7", IDC_BUTTON_7, 36, 45, 24, 18, BS_CENTER | BS_VCENTER |
@@ -224,9 +224,9 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Calculator"
CAPTION "Minicalculator"
MENU IDR_MENU_STANDARD
FONT 8, "MS Shell Dlg"
BEGIN
@@ -244,7 +244,7 @@ BEGIN
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17
CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17
CONTROL "Backspace", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
CONTROL "Înapoi", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER |
BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17
RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 312, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE
CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER |
@@ -318,31 +318,31 @@ IDR_MENU_SCIENTIFIC_1 MENU
BEGIN
POPUP "&Editare"
BEGIN
MENUITEM "&Copiere\tCtrl-C", IDM_EDIT_COPY
MENUITEM "&Lipire\tCtrl-V", IDM_EDIT_PASTE
MENUITEM "&Copiază\tCtrl-C", IDM_EDIT_COPY
MENUITEM "&Lipește\tCtrl-V", IDM_EDIT_PASTE
END
POPUP "&Vizualizare"
POPUP "&Afișare"
BEGIN
MENUITEM "&Standard", IDM_VIEW_STANDARD
MENUITEM "&Ştiinţific", IDM_VIEW_SCIENTIFIC
MENUITEM "Co&nversie", IDM_VIEW_CONVERSION
MENUITEM "Mod st&andard", IDM_VIEW_STANDARD
MENUITEM "Mod știi&nțific", IDM_VIEW_SCIENTIFIC
MENUITEM "Con&versie", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "&Hexazecimal\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "&Zecimal\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "O&ctal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "&Octal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "&Binar\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "&Grade\tF2", IDM_VIEW_DEG, CHECKED
MENUITEM "&Radiani\tF3", IDM_VIEW_RAD, CHECKED
MENUITEM "Gra&diani\tF4", IDM_VIEW_GRAD, CHECKED
MENUITEM SEPARATOR
MENUITEM "G&ruparea cifrelor", IDM_VIEW_GROUP, CHECKED
MENUITEM "Grupează &cifrele", IDM_VIEW_GROUP, CHECKED
END
POPUP "Aj&utor"
BEGIN
MENUITEM "&Termeni din Ajutor", IDM_HELP_HELP
MENUITEM "&Manual…", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "&Despre Calculator ReactOS", IDM_HELP_ABOUT
MENUITEM "&Despre", IDM_HELP_ABOUT
END
END
@@ -350,32 +350,32 @@ IDR_MENU_SCIENTIFIC_2 MENU
BEGIN
POPUP "&Editare"
BEGIN
MENUITEM "&Copiere\tCTRL-C", IDM_EDIT_COPY
MENUITEM "&Lipire\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "&Copiază\tCTRL-C", IDM_EDIT_COPY
MENUITEM "&Lipește\tCTRL-V", IDM_EDIT_PASTE
END
POPUP "&Vizualizare"
POPUP "&Afișare"
BEGIN
MENUITEM "&Standard", IDM_VIEW_STANDARD
MENUITEM "&Ştiinţific", IDM_VIEW_SCIENTIFIC
MENUITEM "G&ruparea cifrelor", IDM_VIEW_CONVERSION
MENUITEM "Mod st&andard", IDM_VIEW_STANDARD
MENUITEM "Mod știi&nțific", IDM_VIEW_SCIENTIFIC
MENUITEM "Con&versie", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "&Hexazecimal\tF5", IDM_VIEW_HEX, CHECKED
MENUITEM "&Zecimal\tF6", IDM_VIEW_DEC, CHECKED
MENUITEM "&Octal\tF7", IDM_VIEW_OCT, CHECKED
MENUITEM "&Binar\tF8", IDM_VIEW_BIN, CHECKED
MENUITEM SEPARATOR
MENUITEM "&64 de biți\tF12", IDM_VIEW_QWORD, CHECKED
MENUITEM "&32 de biți\tF2", IDM_VIEW_DWORD, CHECKED
MENUITEM "&64 biți\tF12", IDM_VIEW_QWORD, CHECKED
MENUITEM "&32 biți\tF2", IDM_VIEW_DWORD, CHECKED
MENUITEM "&16 biți\tF3", IDM_VIEW_WORD, CHECKED
MENUITEM "&8 biți\tF4", IDM_VIEW_BYTE, CHECKED
MENUITEM SEPARATOR
MENUITEM "Gr&uparea cifrelor", IDM_VIEW_GROUP, CHECKED
MENUITEM "Grupează &cifrele", IDM_VIEW_GROUP, CHECKED
END
POPUP "Aj&utor"
BEGIN
MENUITEM "&Termeni din Ajutor", IDM_HELP_HELP
MENUITEM "&Manual…", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "&Despre Calculator ReactOS", IDM_HELP_ABOUT
MENUITEM "&Despre", IDM_HELP_ABOUT
END
END
@@ -383,22 +383,22 @@ IDR_MENU_STANDARD MENU
BEGIN
POPUP "&Editare"
BEGIN
MENUITEM "&Copiere\tCTRL-C", IDM_EDIT_COPY
MENUITEM "&Lipire\tCTRL-V", IDM_EDIT_PASTE
MENUITEM "&Copiază\tCTRL-C", IDM_EDIT_COPY
MENUITEM "&Lipește\tCTRL-V", IDM_EDIT_PASTE
END
POPUP "&Vizualizare"
POPUP "&Afișare"
BEGIN
MENUITEM "&Standard", IDM_VIEW_STANDARD
MENUITEM "&Ştiinţific", IDM_VIEW_SCIENTIFIC
MENUITEM "Co&nversie", IDM_VIEW_CONVERSION
MENUITEM "Mod st&andard", IDM_VIEW_STANDARD
MENUITEM "Mod știi&nțific", IDM_VIEW_SCIENTIFIC
MENUITEM "Con&versie", IDM_VIEW_CONVERSION
MENUITEM SEPARATOR
MENUITEM "Gr&uparea cifrelor", IDM_VIEW_GROUP, CHECKED
MENUITEM "Grupează &cifre", IDM_VIEW_GROUP, CHECKED
END
POPUP "Aj&utor"
BEGIN
MENUITEM "&Termeni din Ajutor", IDM_HELP_HELP
MENUITEM "&Manual…", IDM_HELP_HELP
MENUITEM SEPARATOR
MENUITEM "&Despre Calculator ReactOS", IDM_HELP_ABOUT
MENUITEM "&Despre", IDM_HELP_ABOUT
END
END
@@ -407,13 +407,13 @@ END
STRINGTABLE
BEGIN
IDS_MATH_ERROR "Eroare"
IDS_QUICKHELP "Termeni din Ajutor"
IDS_QUICKHELP "Manual"
END
/* About */
STRINGTABLE
BEGIN
IDS_CALC_NAME "Calculator ReactOS"
IDS_CALC_NAME "Minicalculator ReactOS"
IDS_AUTHOR "Scris de Carlo Bramini"
END
@@ -438,8 +438,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Minut de arc"
IDS_ANGLE_ARCSECONDS "Secundă de arc"
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "Grade"
IDS_ANGLE_GRADIANS "Gradiani"
IDS_ANGLE_RADIANS "Radiani"
@@ -470,7 +470,7 @@ BEGIN
IDS_AREA_SQUARE_FATHOMS "Fathomi pătrați"
IDS_AREA_SQUARE_FATHOMS_HUNGARY "Fathomi pătrați (Ungaria)"
IDS_AREA_SQUARE_FEET "Picioare pătrate"
IDS_AREA_SQUARE_INCHES "Inci pătrați"
IDS_AREA_SQUARE_INCHES "Țoli pătrați"
IDS_AREA_SQUARE_KILOMETERS "Kilometri pătrați"
IDS_AREA_SQUARE_LAR "Lar pătrați"
IDS_AREA_SQUARE_METER "Metri pătrați"
@@ -524,7 +524,7 @@ STRINGTABLE
BEGIN
IDS_ENERGY_15_C_CALORIES "Calorii 15 °C"
IDS_ENERGY_BTUS "Unități termale britanice"
IDS_ENERGY_ERGS "Ergi"
IDS_ENERGY_ERGS "Erg"
IDS_ENERGY_EVS "Electroni-Volt"
IDS_ENERGY_FOOT_POUNDS "Picioare-Livră"
IDS_ENERGY_IT_CALORIES "Calorii Tabel Internațional"
@@ -555,7 +555,7 @@ BEGIN
IDS_LENGTH_GAN "Gan"
IDS_LENGTH_HANDS "Palme"
IDS_LENGTH_HUNH "Hunh"
IDS_LENGTH_INCHES "Inci"
IDS_LENGTH_INCHES "Țoli"
IDS_LENGTH_JA "Ja"
IDS_LENGTH_JEONG "Jeong"
IDS_LENGTH_KABIET "Kabiet"
@@ -592,7 +592,7 @@ END
STRINGTABLE
BEGIN
IDS_POWER_BTUS_PER_MINUTE "Unități termice britanice pe minut"
IDS_POWER_FPS_PER_MINUTE "Picior-lire pe minut"
IDS_POWER_FPS_PER_MINUTE "Picior-livre pe minut"
IDS_POWER_HORSEPOWER "Cai putere"
IDS_POWER_KILOWATTS "Kilowați"
IDS_POWER_MEGAWATTS "Megawați"
@@ -608,7 +608,7 @@ BEGIN
IDS_PRESSURE_KILOPASCALS "Kilopascali"
IDS_PRESSURE_MM_OF_MERCURY "Milimetri coloană de mercur"
IDS_PRESSURE_PASCALS "Pascali"
IDS_PRESSURE_PSI "Livre-forță pe inci pătrați"
IDS_PRESSURE_PSI "Livre-forță pe țol pătrat"
END
/* Temperatures */
@@ -657,7 +657,7 @@ BEGIN
IDS_VOLUME_BUSHELS_US "Bushel (SUA)"
IDS_VOLUME_CUBIC_CENTIMETERS "Centrimetri cubi"
IDS_VOLUME_CUBIC_FEET "Picioare^3"
IDS_VOLUME_CUBIC_INCHES "Inci cubi"
IDS_VOLUME_CUBIC_INCHES "Țoli cubi"
IDS_VOLUME_CUBIC_METERS "Metri cubi"
IDS_VOLUME_CUBIC_YARDS "Yarzi cubi"
IDS_VOLUME_DOE "Doe"
@@ -708,11 +708,11 @@ BEGIN
IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Uncii, avoirdupois"
IDS_WEIGHT_OUNCES_TROY "Uncii, troy"
IDS_WEIGHT_POUNDS "Livre"
IDS_WEIGHT_QUINTAL_METRIC "Quintale (metric)"
IDS_WEIGHT_QUINTAL_METRIC "Chintale (metric)"
IDS_WEIGHT_SALOUNG "Saloung"
IDS_WEIGHT_STONES "Stones"
IDS_WEIGHT_TAMLUNG "Tamlung"
IDS_WEIGHT_TONNES "Tone"
IDS_WEIGHT_TONNES "Tonni"
IDS_WEIGHT_TONS_UK "Tone (Marea Britanie)"
IDS_WEIGHT_TONS_US "Tone (SUA)"
END

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_STANDARD
@@ -429,8 +429,8 @@ END
/* Angles */
STRINGTABLE
BEGIN
IDS_ANGLE_ARCMINUTES "Угловая минута"
IDS_ANGLE_ARCSECONDS "Угловая секунда"
IDS_ANGLE_ARCMINUTES "Minute of arc"
IDS_ANGLE_ARCSECONDS "Second of arc"
IDS_ANGLE_DEGREES "градус"
IDS_ANGLE_GRADIANS "град"
IDS_ANGLE_RADIANS "радиан"

View File

@@ -9,7 +9,7 @@ LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulačka systému ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -157,7 +157,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulačka systému ReactOS"
MENU IDR_MENU_STANDARD
@@ -222,7 +222,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Kalkulačka systému ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -6,7 +6,7 @@ LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Makine Llogaritje"
MENU IDR_MENU_SCIENTIFIC_1
@@ -154,7 +154,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Makine Llogaritje"
MENU IDR_MENU_STANDARD
@@ -219,7 +219,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Makine Llogaritje"
MENU IDR_MENU_STANDARD

View File

@@ -9,7 +9,7 @@ LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkylator"
MENU IDR_MENU_SCIENTIFIC_1
@@ -157,7 +157,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkylator"
MENU IDR_MENU_STANDARD
@@ -222,7 +222,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Kalkylator"
MENU IDR_MENU_STANDARD

View File

@@ -2,7 +2,7 @@ LANGUAGE LANG_THAI, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "เครื่องคิดเลข ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -150,7 +150,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "สถานภาพทั่วไป"
MENU IDR_MENU_STANDARD
@@ -215,7 +215,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "เครื่องคิดเลข ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -7,7 +7,7 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Hesap Makinesi"
MENU IDR_MENU_SCIENTIFIC_1
@@ -155,7 +155,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Hesap Makinesi"
MENU IDR_MENU_STANDARD
@@ -220,7 +220,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS Hesap Makinesi"
MENU IDR_MENU_STANDARD

View File

@@ -10,7 +10,7 @@ LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_SCIENTIFIC_1
@@ -158,7 +158,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_STANDARD
@@ -223,7 +223,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Калькулятор ReactOS"
MENU IDR_MENU_STANDARD

View File

@@ -10,7 +10,7 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 计算器"
MENU IDR_MENU_SCIENTIFIC_1
@@ -158,7 +158,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 计算器"
MENU IDR_MENU_STANDARD
@@ -223,7 +223,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 计算器"
MENU IDR_MENU_STANDARD

View File

@@ -10,7 +10,7 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_HONGKONG
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計數機"
MENU IDR_MENU_SCIENTIFIC_1
@@ -158,7 +158,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計數機"
MENU IDR_MENU_STANDARD
@@ -223,7 +223,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計數機"
MENU IDR_MENU_STANDARD

View File

@@ -4,7 +4,7 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
/* Dialogs */
IDD_DIALOG_SCIENTIFIC DIALOGEX CW_USEDEFAULT16, 0, 316, 163
IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計算機"
MENU IDR_MENU_SCIENTIFIC_1
@@ -152,7 +152,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_STANDARD DIALOGEX CW_USEDEFAULT16, 0, 169, 128
IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計算機"
MENU IDR_MENU_STANDARD
@@ -217,7 +217,7 @@ BEGIN
DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE
END
IDD_DIALOG_CONVERSION DIALOGEX CW_USEDEFAULT16, 0, 320, 130
IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130
STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "ReactOS 計算機"
MENU IDR_MENU_STANDARD

View File

@@ -4,8 +4,6 @@
#define IDC_STATIC -1
#endif
#define CW_USEDEFAULT16 0x8000
#define IDS_CALC_NAME 1
#define IDS_MATH_ERROR 2
#define IDS_QUICKHELP 3

View File

@@ -19,7 +19,7 @@
*/
#include <windef.h>
#include <winuser.rh>
#include <winuser.h>
#include "resource.h"

View File

@@ -27,7 +27,7 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
switch (base) {
case IDC_RADIO_HEX:
StringCchPrintf(buffer, size, _T("%I64X"), rpn->i);
_stprintf(buffer, _T("%I64X"), rpn->i);
break;
case IDC_RADIO_DEC:
/*
@@ -40,11 +40,11 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
/* calculate the width of integer number */
width = (rpn->f==0) ? 1 : (int)log10(fabs(rpn->f))+1;
if (calc.sci_out == TRUE || width > MAX_LD_WIDTH || width < -MAX_LD_WIDTH)
StringCchPrintf(buffer, size, _T("%#.*e"), MAX_LD_WIDTH-1, rpn->f);
_stprintf(buffer, _T("%#.*e"), MAX_LD_WIDTH-1, rpn->f);
else {
TCHAR *ptr, *dst;
StringCchPrintfEx(buffer, size, &ptr, NULL, 0, _T("%#*.*f"), width, ((MAX_LD_WIDTH-width-1)>=0) ? MAX_LD_WIDTH-width-1 : 0, rpn->f);
ptr = buffer + _stprintf(buffer, _T("%#*.*f"), width, ((MAX_LD_WIDTH-width-1)>=0) ? MAX_LD_WIDTH-width-1 : 0, rpn->f);
/* format string ensures there is a '.': */
dst = _tcschr(buffer, _T('.'));
while (--ptr > dst)
@@ -61,7 +61,7 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
#undef MAX_LD_WIDTH
break;
case IDC_RADIO_OCT:
StringCchPrintf(buffer, size, _T("%I64o"), rpn->i);
_stprintf(buffer, _T("%I64o"), rpn->i);
break;
case IDC_RADIO_BIN:
if (rpn->i == 0) {

View File

@@ -107,7 +107,7 @@ void prepare_rpn_result_2(calc_number_t *rpn, TCHAR *buffer, int size, int base)
}
mpz_clear(zz);
mpf_clear(ff);
StringCchPrintf(buffer, size, _T("%hs"), temp);
_sntprintf(buffer, SIZEOF(calc.buffer), _T("%hs"), temp);
}
void convert_text2number_2(calc_number_t *a)

View File

@@ -254,10 +254,10 @@ static void UpdateNumberIntl(void)
{
/* Get current user defaults */
if (!GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, calc.sDecimal, SIZEOF(calc.sDecimal)))
StringCbCopy(calc.sDecimal, sizeof(calc.sDecimal), _T("."));
_tcscpy(calc.sDecimal, _T("."));
if (!GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_STHOUSAND, calc.sThousand, SIZEOF(calc.sThousand)))
StringCbCopy(calc.sThousand, sizeof(calc.sThousand), _T(","));
_tcscpy(calc.sThousand, _T(","));
/* get the string lengths */
calc.sDecimal_len = _tcslen(calc.sDecimal);
@@ -342,7 +342,7 @@ static void save_config(void)
switch (osvi.dwPlatformId) {
case VER_PLATFORM_WIN32s:
case VER_PLATFORM_WIN32_WINDOWS:
StringCbPrintf(buf, sizeof(buf), _T("%lu"), calc.layout);
_stprintf(buf, _T("%lu"), calc.layout);
WriteProfileString(_T("SciCalc"), _T("layout"), buf);
WriteProfileString(_T("SciCalc"), _T("UseSep"), (calc.usesep==TRUE) ? _T("1") : _T("0"));
break;
@@ -496,16 +496,16 @@ static void update_lcd_display(HWND hwnd)
TCHAR tmp[MAX_CALC_SIZE * 2 + 2];
if (calc.buffer[0] == _T('\0'))
StringCbCopy(tmp, sizeof(tmp), _T("0"));
_tcscpy(tmp, _T("0"));
else
StringCbCopy(tmp, sizeof(tmp), calc.buffer);
_tcscpy(tmp, calc.buffer);
/* Add final '.' in decimal mode (if it's missing), but
* only if it's a result: no append if it prints "ERROR".
*/
if (calc.base == IDC_RADIO_DEC && !calc.is_nan) {
if (_tcschr(tmp, _T('.')) == NULL)
StringCbCat(tmp, sizeof(tmp), _T("."));
_tcscat(tmp, _T("."));
}
/* if separator mode is on, let's add an additional space */
if (calc.usesep && !calc.sci_in && !calc.sci_out && !calc.is_nan) {
@@ -573,14 +573,13 @@ static void update_parent_display(HWND hWnd)
if (!n)
str[0] = _T('\0');
else
StringCbPrintf(str, sizeof(str), _T("(=%d"), n);
_stprintf(str,_T("(=%d"), n);
SetDlgItemText(hWnd, IDC_TEXT_PARENT, str);
}
static void build_operand(HWND hwnd, DWORD idc)
{
unsigned int i = 0, n;
size_t cbPtr;
if (idc == IDC_BUTTON_DOT) {
/* if dot is the first char, it's added automatically */
@@ -618,14 +617,12 @@ static void build_operand(HWND hwnd, DWORD idc)
if (idc != IDC_STATIC)
calc.esp = (calc.esp * 10 + (key2code[i].key-'0')) % LOCAL_EXP_SIZE;
if (calc.ptr == calc.buffer)
StringCbPrintf(calc.ptr, sizeof(calc.buffer), _T("0.e%+d"), calc.esp);
_stprintf(calc.ptr, _T("0.e%+d"), calc.esp);
else {
/* adds the dot at the end if the number has no decimal part */
if (!_tcschr(calc.buffer, _T('.')))
*calc.ptr++ = _T('.');
cbPtr = sizeof(calc.buffer) - ((BYTE*)calc.ptr - (BYTE*)calc.buffer);
StringCbPrintf(calc.ptr, cbPtr, _T("e%+d"), calc.esp);
_stprintf(calc.ptr, _T("e%+d"), calc.esp);
}
update_lcd_display(hwnd);
return;
@@ -640,11 +637,7 @@ static void build_operand(HWND hwnd, DWORD idc)
return;
break;
}
cbPtr = sizeof(calc.buffer) - ((BYTE*)calc.ptr - (BYTE*)calc.buffer);
StringCbPrintfEx(calc.ptr, cbPtr, &calc.ptr, NULL, STRSAFE_FILL_ON_FAILURE,
_T("%C"), key2code[i].key);
calc.ptr += _stprintf(calc.ptr, _T("%C"), key2code[i].key);
update_lcd_display(hwnd);
}
@@ -857,11 +850,11 @@ static void update_memory_flag(HWND hWnd, BOOL mem_flag)
SetDlgItemText(hWnd, IDC_TEXT_MEMORY, mem_flag ? _T("M") : _T(""));
}
static void update_n_stats_items(HWND hWnd, TCHAR *buffer, size_t cbBuffer)
static void update_n_stats_items(HWND hWnd, TCHAR *buffer)
{
unsigned int n = SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_GETCOUNT, 0, 0);
StringCbPrintf(buffer, cbBuffer, _T("n=%u"), n);
_stprintf(buffer, _T("n=%u"), n);
SetDlgItemText(hWnd, IDC_TEXT_NITEMS, buffer);
}
@@ -912,7 +905,7 @@ static char *ReadConversion(const char *formula)
str[len+1] = ')';
str[len+2] = '\0';
StringCbCopy(calc.source, sizeof(calc.source), (*calc.buffer == _T('\0')) ? _T("0") : calc.buffer);
_tcscpy(calc.source, (*calc.buffer == _T('\0')) ? _T("0") : calc.buffer);
/* clear display content before proceeding */
calc.ptr = calc.buffer;
@@ -949,13 +942,13 @@ static INT_PTR CALLBACK DlgStatProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
if (n == LB_ERR)
return TRUE;
SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_DELETESTRING, (WPARAM)n, 0);
update_n_stats_items(hWnd, buffer, sizeof(buffer));
update_n_stats_items(hWnd, buffer);
delete_stat_item(n);
return TRUE;
case IDC_BUTTON_CAD:
SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_RESETCONTENT, 0, 0);
clean_stat_list();
update_n_stats_items(hWnd, buffer, sizeof(buffer));
update_n_stats_items(hWnd, buffer);
return TRUE;
}
break;
@@ -971,7 +964,7 @@ static INT_PTR CALLBACK DlgStatProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
buffer, SIZEOF(buffer),
((statistic_t *)lp)->base);
SendDlgItemMessage(hWnd, IDC_LIST_STAT, LB_ADDSTRING, 0, (LPARAM)buffer);
update_n_stats_items(hWnd, buffer, sizeof(buffer));
update_n_stats_items(hWnd, buffer);
return TRUE;
}
return FALSE;
@@ -993,13 +986,11 @@ static void CopyMemToClipboard(void *ptr)
if(OpenClipboard(NULL)) {
HGLOBAL clipbuffer;
TCHAR *buffer;
size_t cbBuffer;
EmptyClipboard();
cbBuffer = (_tcslen(ptr) + 1) * sizeof(TCHAR);
clipbuffer = GlobalAlloc(GMEM_DDESHARE, cbBuffer);
clipbuffer = GlobalAlloc(GMEM_DDESHARE, (_tcslen(ptr)+1)*sizeof(TCHAR));
buffer = (TCHAR *)GlobalLock(clipbuffer);
StringCbCopy(buffer, cbBuffer, ptr);
_tcscpy(buffer, ptr);
GlobalUnlock(clipbuffer);
#ifdef UNICODE
SetClipboardData(CF_UNICODETEXT,clipbuffer);
@@ -1065,8 +1056,9 @@ static char *handle_sequence_input(HWND hwnd, sequence_t *seq)
}
} else
if (ch == '$') {
StringCbCopyEx(calc.buffer, sizeof(calc.buffer), calc.source, &calc.ptr, NULL,
STRSAFE_FILL_ON_FAILURE);
calc.ptr =
_tcscpy(calc.buffer, calc.source) +
_tcslen(calc.source);
} else {
for (x=0; x<SIZEOF(key2code); x++) {
if (!(key2code[x].mask & BITMASK_IS_ASCII) ||
@@ -1635,7 +1627,7 @@ static INT_PTR CALLBACK DlgMainProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
case IDC_BUTTON_D:
case IDC_BUTTON_E:
case IDC_BUTTON_F:
if (calc.is_nan) break;
calc.is_nan = FALSE;
build_operand(hWnd, LOWORD(wp));
return TRUE;
case IDC_BUTTON_PERCENT:
@@ -1701,7 +1693,6 @@ static INT_PTR CALLBACK DlgMainProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
}
return TRUE;
case IDC_BUTTON_BACK:
if (calc.is_nan) break;
if (calc.sci_in) {
if (calc.esp == 0) {
TCHAR *ptr;
@@ -1954,9 +1945,9 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
hInstance,
MAKEINTRESOURCE(IDI_CALC),
IMAGE_ICON,
0,
0,
LR_DEFAULTSIZE | LR_SHARED);
GetSystemMetrics(SM_CXICON),
GetSystemMetrics(SM_CYICON),
0);
calc.hSmIcon = LoadImage(
hInstance,
@@ -1964,7 +1955,7 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
IMAGE_ICON,
GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON),
LR_SHARED);
0);
do {
/* ignore hwnd: dialogs are already visible! */
@@ -1994,6 +1985,12 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL
save_config();
} while (calc.action != IDC_STATIC);
if (calc.hBgIcon != NULL)
DestroyIcon(calc.hBgIcon);
if (calc.hSmIcon != NULL)
DestroyIcon(calc.hSmIcon);
stop_rpn_engine();
Theme_Stop();

View File

@@ -2,7 +2,7 @@
* FILE: base/applications/charmap/lang/ro-RO.rc
* ReactOS Project (https://reactos.org)
* TRANSLATORS: Copyright 2011-2018 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023-2024 Andrei Miloiu <miloiuandrei@gmail.com>
* Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com>
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
@@ -46,7 +46,7 @@ CAPTION "Despre"
FONT 8, "MS Shell Dlg", 0, 0
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
BEGIN
LTEXT "Plan caractere v0.1\nDrept de autor (C) 2007 Ged Murphy (gedmurphy@reactos.org)\nTraducere de Ștefan Fulea (stefan.fulea@mail.com)", IDC_STATIC, 48, 7, 210, 36
LTEXT "Hartă de caractere v0.1\nDrept de autor (C) 2007 Ged Murphy (gedmurphy@reactos.org)\nTraducere de Ștefan Fulea (stefan.fulea@mail.com)", IDC_STATIC, 48, 7, 210, 36
PUSHBUTTON "Î&nchide", IDOK, 105, 162, 44, 15
ICON IDI_ICON, IDC_STATIC, 10, 10, 7, 30
EDITTEXT IDC_LICENSE_EDIT, 8, 44, 254, 107, WS_VISIBLE | WS_VSCROLL |
@@ -57,7 +57,7 @@ STRINGTABLE
BEGIN
IDS_LICENSE "Această aplicație este publică; fiind permisă modificarea și/sau (re)distribuția sa în termenii Licenței Publice Generale GNU publicată de Free Software Foundation; sau versiunea 2 a Licenței, sau (la alegere) a oricărei versiuni ulterioare.\r\n\r\nAceastă aplicație este distribuită doar în speranța de a fi utilă, FĂRĂ însă NICI O GARANȚIE; nici măcar cu garanția implicită a VANDABILITĂȚII sau a UTILITĂȚII ÎNTR-UN SCOP ANUME. Pentru mai multe detalii consultați Licența Publică Generală GNU.\r\n\r\nPuteți vedea această licență aici:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nDe asemenea puteți consulta traduceri neoficiale ale acestei licențe aici:\r\nhttp://www.gnu.org/licenses/translations.html"
IDS_ABOUT "&Despre…"
IDS_TITLE "Plan caractere"
IDS_TITLE "Hartă de caractere"
IDS_UNICODE "Unicode"
IDS_ALL "Toate"
END

View File

@@ -54,5 +54,5 @@ BEGIN
IDS_ABOUT "&О программе..."
IDS_TITLE "Таблица символов"
IDS_UNICODE "Unicode"
IDS_ALL "Все"
IDS_ALL "All"
END

View File

@@ -93,7 +93,7 @@ extern void LoadSettings(void)
lstatus = RegQueryValueEx(hKey, _T("Advanced"), NULL, &type, (LPBYTE)&dwAdvancedChecked, &size);
if (lstatus == ERROR_SUCCESS && type == REG_DWORD && dwAdvancedChecked != FALSE)
{
SendDlgItemMessage(hCharmapDlg, IDC_CHECK_ADVANCED, BM_CLICK, 0, 0);
SendDlgItemMessage(hCharmapDlg, IDC_CHECK_ADVANCED, BM_CLICK, MF_CHECKED, 0);
}
RegCloseKey(hKey);

View File

@@ -248,11 +248,13 @@ static int OnCommand(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
case CMD_ABOUT:
{
HICON hIcon;
WCHAR szTitle[MAX_STRING_LEN];
hIcon = LoadIconW(Globals.hInstance, MAKEINTRESOURCE(CLIPBRD_ICON));
LoadStringW(Globals.hInstance, STRING_CLIPBOARD, szTitle, ARRAYSIZE(szTitle));
ShellAboutW(Globals.hMainWnd, szTitle, NULL,
LoadIconW(Globals.hInstance, MAKEINTRESOURCEW(CLIPBRD_ICON)));
ShellAboutW(Globals.hMainWnd, szTitle, NULL, hIcon);
DeleteObject(hIcon);
break;
}
@@ -358,13 +360,6 @@ static void OnPaint(HWND hWnd, WPARAM wParam, LPARAM lParam)
break;
}
case CF_HDROP:
{
GetClientRect(hWnd, &rc);
HDropFromClipboard(hdc, &rc);
break;
}
default:
{
GetClientRect(hWnd, &rc);

View File

@@ -50,9 +50,6 @@ CLPFILE_ICON ICON "res/clpfile.ico"
#ifdef LANGUAGE_IT_IT
#include "lang/it-IT.rc"
#endif
#ifdef LANGUAGE_JA_JP
#include "lang/ja-JP.rc"
#endif
#ifdef LANGUAGE_PL_PL
#include "lang/pl-PL.rc"
#endif

View File

@@ -164,8 +164,7 @@ UINT GetAutomaticClipboardFormat(void)
CF_DSPBITMAP,
CF_DSPMETAFILEPICT,
CF_DSPENHMETAFILE,
CF_PALETTE,
CF_HDROP
CF_PALETTE
};
return GetPriorityClipboardFormat(uFormatList, ARRAYSIZE(uFormatList));

View File

@@ -1,65 +0,0 @@
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
ID_ACCEL ACCELERATORS
BEGIN
VK_DELETE, CMD_DELETE, VIRTKEY
END
MAIN_MENU MENU
BEGIN
POPUP "ファイル(&F)"
BEGIN
MENUITEM "開く(&O)...", CMD_OPEN
MENUITEM "名前を付けて保存(&A)...", CMD_SAVE_AS
MENUITEM SEPARATOR
MENUITEM "終了(&X)", CMD_EXIT
END
POPUP "編集(&E)"
BEGIN
MENUITEM "削除(&D)\tDel", CMD_DELETE
END
POPUP "表示(&D)"
BEGIN
MENUITEM "自動(&A)", CMD_AUTOMATIC
END
POPUP "ヘルプ(&H)"
BEGIN
MENUITEM "ヘルプ トピック(&H)", CMD_HELP
MENUITEM SEPARATOR
MENUITEM "バージョン情報(&A)", CMD_ABOUT
END
END
STRINGTABLE
BEGIN
STRING_CLIPBOARD "クリップボード ビュア"
STRING_CLIPFILE "クリップボードの要素"
STRING_DELETE_MSG "クリップボードの内容をクリアしますか?"
STRING_DELETE_TITLE "クリップボードのクリア"
STRING_FORMAT_NT "ReactOS 用のクリップボード ファイル (*.clp)"
STRING_FORMAT_GEN "クリップボード ファイル (*.clp)"
END
STRINGTABLE
BEGIN
STRING_CF_UNKNOWN "未知の形式"
STRING_CF_TEXT "テキスト"
STRING_CF_BITMAP "ビットマップ"
STRING_CF_OEMTEXT "OEM テキスト"
STRING_CF_UNICODETEXT "Unicode テキスト"
STRING_CF_DIB "DIB ビットマップ"
STRING_CF_LOCALE "ロケール データ"
STRING_CF_ENHMETAFILE "拡張メタファイル"
STRING_CF_METAFILEPICT "メタファイル"
STRING_CF_PALETTE "カラー パレット"
STRING_CF_DIBV5 "DIB ビットマップ (バージョン 5)"
STRING_CF_SYLK "シンボリック リンク形式"
STRING_CF_DIF "データ交換フォーマット"
STRING_CF_HDROP "ドロップ データ"
END
STRINGTABLE
BEGIN
ERROR_UNSUPPORTED_FORMAT "表示できない形式のデータがクリップボードにあります。"
ERROR_INVALID_FILE_FORMAT "選択したファイルは有効なクリップボードファイルではありません。"
END

View File

@@ -1,11 +1,4 @@
/*
* PROJECT: ReactOS Clipboard
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2019 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023-2024 Andrei Miloiu <miloiuandrei@gmail.com>
*/
/* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
ID_ACCEL ACCELERATORS
@@ -18,13 +11,13 @@ BEGIN
POPUP "&Fișier"
BEGIN
MENUITEM "&Deschidere…", CMD_OPEN
MENUITEM "S&alvare ca…", CMD_SAVE_AS
MENUITEM "Păst&rare ca…", CMD_SAVE_AS
MENUITEM SEPARATOR
MENUITEM "I&eșire", CMD_EXIT
END
POPUP "&Editare"
BEGIN
MENUITEM "Șt&ergere\tDel", CMD_DELETE
MENUITEM "Șt&erge\tDel", CMD_DELETE
END
POPUP "&Afișare"
BEGIN
@@ -42,8 +35,8 @@ STRINGTABLE
BEGIN
STRING_CLIPBOARD "Inspector de Clipboard"
STRING_CLIPFILE "Element de Clipboard"
STRING_DELETE_MSG "Eliminare conținut din Clipboard?"
STRING_DELETE_TITLE "Curățare Clipboard"
STRING_DELETE_MSG "Elimină conținutul din Clipboard?"
STRING_DELETE_TITLE "Curăță Clipboard"
STRING_FORMAT_NT "Fișiere clipboard pentru ReactOS (*.clp)"
STRING_FORMAT_GEN "Fișiere clipboard (*.clp)"
END

View File

@@ -331,45 +331,6 @@ void PlayEnhMetaFileFromClipboard(HDC hdc, const RECT *lpRect)
PlayEnhMetaFile(hdc, hEmf, lpRect);
}
static LPWSTR AllocStrCat(LPWSTR psz, LPCWSTR cat)
{
INT cch;
LPWSTR pszNew;
if (psz == NULL)
return _wcsdup(cat);
cch = lstrlenW(psz) + lstrlenW(cat) + 1;
pszNew = realloc(psz, cch * sizeof(WCHAR));
if (!pszNew)
return psz;
lstrcatW(pszNew, cat);
return pszNew;
}
void HDropFromClipboard(HDC hdc, const RECT *lpRect)
{
LPWSTR pszAlloc = NULL;
WCHAR szFile[MAX_PATH + 2];
HDROP hDrop = (HDROP)GetClipboardData(CF_HDROP);
UINT iFile, cFiles = DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0);
RECT rc = *lpRect;
FillRect(hdc, &rc, (HBRUSH)(COLOR_WINDOW + 1));
for (iFile = 0; iFile < cFiles; ++iFile)
{
DragQueryFileW(hDrop, iFile, szFile, _countof(szFile));
lstrcatW(szFile, L"\r\n");
pszAlloc = AllocStrCat(pszAlloc, szFile);
}
DrawTextW(hdc, pszAlloc, -1, &rc,
DT_LEFT | DT_NOPREFIX | DT_EXTERNALLEADING | DT_WORD_ELLIPSIS);
free(pszAlloc);
}
BOOL RealizeClipboardPalette(HDC hdc)
{
BOOL Success;

View File

@@ -17,5 +17,4 @@ void BitBltFromClipboard(PAINTSTRUCT ps, SCROLLSTATE state, DWORD dwRop);
void SetDIBitsToDeviceFromClipboard(UINT uFormat, PAINTSTRUCT ps, SCROLLSTATE state, UINT fuColorUse);
void PlayMetaFileFromClipboard(HDC hdc, const RECT *lpRect);
void PlayEnhMetaFileFromClipboard(HDC hdc, const RECT *lpRect);
void HDropFromClipboard(HDC hdc, const RECT *lpRect);
BOOL RealizeClipboardPalette(HDC hdc);

View File

@@ -1,10 +1,4 @@
/*
* PROJECT: ReactOS AT utility
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2019 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com>
*/
/* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
@@ -39,7 +33,7 @@ timp Specifică timpul de lansare a comenzii.\n\
IDS_JOBS_LIST "ID stare Zi Oră Comanda\n"
IDS_NO_ENTRIES "Nu există comenzi planificate.\n"
IDS_CONFIRM_QUESTION "Sigur doriți continuarea acestei operații? (D/N) [N]: "
IDS_CONFIRM_QUESTION "Sigur doriți continuarea acestei operații? (D|N) [N]: "
IDS_CONFIRM_INVALID "\nAcesta nu este un răspuns valid.\n"
IDS_CONFIRM_YES "D"
IDS_CONFIRM_NO "N"

View File

@@ -31,7 +31,7 @@ id Порядковый номер запланированно
IDS_CONFIRM_YES "Y"
IDS_CONFIRM_NO "N"
IDS_DELETE_ALL "Эта операция удалит все запланированные задачи.\n"
IDS_DELETE_ALL "This operation will delete all scheduled jobs.\n"
IDS_NEW_JOB "Добавлено новое задание с ID = %lu\n"
IDS_JOBS_LIST "Статус ID День Время Команда\n"
IDS_NO_ENTRIES "В списке нет запланированных задач.\n"

View File

@@ -1,10 +1,35 @@
/*
* PROJECT: ReactOS Attrib Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Displays or changes file attributes recursively.
* COPYRIGHT: Copyright 1998-2019 Eric Kohl <eric.kohl@reactos.org>
* Copyright 2021 Doug Lyons <douglyons@douglyons.com>
* Copyright 2021-2023 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
* ATTRIB.C - attrib internal command.
*
*
* History:
*
* 04-Dec-1998 Eric Kohl
* started
*
* 09-Dec-1998 Eric Kohl
* implementation works, except recursion ("attrib /s").
*
* 05-Jan-1999 Eric Kohl
* major rewrite.
* fixed recursion ("attrib /s").
* started directory support ("attrib /s /d").
* updated help text.
*
* 14-Jan-1999 Eric Kohl
* Unicode ready!
*
* 19-Jan-1999 Eric Kohl
* Redirection ready!
*
* 21-Jan-1999 Eric Kohl
* Added check for invalid filenames.
*
* 23-Jan-1999 Eric Kohl
* Added handling of multiple filenames.
*
* 02-Apr-2005 (Magnus Olsen <magnus@greatlord.com>)
* Remove all hardcoded strings in En.rc
*/
#include <stdio.h>
@@ -14,22 +39,15 @@
#include <winbase.h>
#include <wincon.h>
#include <winuser.h>
#include <strsafe.h>
#include <conutils.h>
#include "resource.h"
/* Enable to support extended attributes.
* See https://ss64.com/nt/attrib.html for an exhaustive list. */
// TODO: If you enable this, translations need to be updated as well!
//#define EXTENDED_ATTRIBUTES
#define ALL_FILES_PATTERN L"*.*" // It may also be possible to use L"*" (shorter)
CON_SCREEN StdOutScreen = INIT_CON_SCREEN(StdOut);
static VOID
static
VOID
ErrorMessage(
_In_ DWORD dwErrorCode,
_In_opt_ PCWSTR pszMsg,
@@ -59,257 +77,217 @@ ErrorMessage(
ConPrintf(StdErr, L" %s\n", pszMsg);
}
/**
* @brief Displays attributes for the given file.
* @return Always TRUE (success).
**/
static BOOL
PrintAttributes(
_In_ PWIN32_FIND_DATAW pFindData,
_In_ PCWSTR pszFullName,
_Inout_opt_ PVOID Context)
/* Returns TRUE if anything is printed, FALSE otherwise */
static
BOOL
PrintAttribute(
LPWSTR pszPath,
LPWSTR pszFile,
BOOL bRecurse,
BOOL bDirectories)
{
DWORD dwAttributes = pFindData->dwFileAttributes;
UNREFERENCED_PARAMETER(Context);
ConPrintf(StdOut,
#ifdef EXTENDED_ATTRIBUTES
L"%c %c%c%c %c %s\n",
#else
L"%c %c%c%c %s\n",
#endif
(dwAttributes & FILE_ATTRIBUTE_ARCHIVE) ? L'A' : L' ',
(dwAttributes & FILE_ATTRIBUTE_SYSTEM) ? L'S' : L' ',
(dwAttributes & FILE_ATTRIBUTE_HIDDEN) ? L'H' : L' ',
(dwAttributes & FILE_ATTRIBUTE_READONLY) ? L'R' : L' ',
#ifdef EXTENDED_ATTRIBUTES
(dwAttributes & FILE_ATTRIBUTE_NOT_CONTENT_INDEXED) ? L'I' : L' ',
#endif
pszFullName);
return TRUE;
}
typedef struct _ATTRIBS_MASKS
{
DWORD dwMask;
DWORD dwAttrib;
} ATTRIBS_MASKS, *PATTRIBS_MASKS;
/**
* @brief Changes attributes for the given file.
* @return TRUE if anything changed, FALSE otherwise.
**/
static BOOL
ChangeAttributes(
_In_ PWIN32_FIND_DATAW pFindData,
_In_ PCWSTR pszFullName,
_Inout_opt_ PVOID Context)
{
PATTRIBS_MASKS AttribsMasks = (PATTRIBS_MASKS)Context;
DWORD dwAttributes;
dwAttributes = ((pFindData->dwFileAttributes & ~AttribsMasks->dwMask) | AttribsMasks->dwAttrib);
return SetFileAttributesW(pszFullName, dwAttributes);
}
#define ENUM_RECURSE 0x01
#define ENUM_DIRECTORIES 0x02
typedef BOOL
(*PENUMFILES_CALLBACK)(
_In_ PWIN32_FIND_DATAW pFindData,
_In_ PCWSTR pszFullName,
_Inout_opt_ PVOID Context);
typedef struct _ENUMFILES_CTX
{
/* Fixed data */
_In_ PCWSTR FileName;
_In_ DWORD Flags;
/* Callback invoked on each enumerated file/directory */
_In_ PENUMFILES_CALLBACK Callback;
_In_ PVOID Context;
/* Dynamic data */
WIN32_FIND_DATAW findData;
ULONG uReparseLevel;
/* The full path buffer the function will act recursively */
// PWSTR FullPath; // Use a relocated buffer once long paths become supported!
size_t cchBuffer; // Buffer size
WCHAR FullPathBuffer[MAX_PATH + _countof("\\" ALL_FILES_PATTERN)];
} ENUMFILES_CTX, *PENUMFILES_CTX;
/* Returns TRUE if anything is done, FALSE otherwise */
static BOOL
EnumFilesWorker(
_Inout_ PENUMFILES_CTX EnumCtx,
_Inout_ off_t offFilePart) // Offset to the file name inside FullPathBuffer
{
BOOL bFound = FALSE;
HRESULT hRes;
HANDLE hFind;
PWSTR findFileName = EnumCtx->findData.cFileName;
PWSTR pFilePart = EnumCtx->FullPathBuffer + offFilePart;
size_t cchRemaining = EnumCtx->cchBuffer - offFilePart;
WCHAR szFullName[MAX_PATH];
LPWSTR pszFileName;
BOOL bFound = FALSE;
BOOL bIsDir;
BOOL bExactMatch;
DWORD Error;
/* Recurse over all subdirectories */
if (EnumCtx->Flags & ENUM_RECURSE)
/* prepare full file name buffer */
wcscpy(szFullName, pszPath);
pszFileName = szFullName + wcslen(szFullName);
/* display all subdirectories */
if (bRecurse)
{
/* Append '*.*' */
hRes = StringCchCopyW(pFilePart, cchRemaining, ALL_FILES_PATTERN);
if (hRes != S_OK)
{
if (hRes == STRSAFE_E_INSUFFICIENT_BUFFER)
{
// TODO: If this fails, try to reallocate EnumCtx->FullPathBuffer by
// increasing its size by _countof(EnumCtx->findData.cFileName) + 1
// to satisfy this copy, as well as the one made in the loop below.
}
// else
ConPrintf(StdErr, L"Directory level too deep: %s\n", EnumCtx->FullPathBuffer);
return FALSE;
}
/* append *.* */
wcscpy(pszFileName, L"*.*");
hFind = FindFirstFileW(EnumCtx->FullPathBuffer, &EnumCtx->findData);
hFind = FindFirstFileW(szFullName, &findData);
if (hFind == INVALID_HANDLE_VALUE)
{
DWORD Error = GetLastError();
if ((Error != ERROR_DIRECTORY) &&
(Error != ERROR_SHARING_VIOLATION) &&
(Error != ERROR_FILE_NOT_FOUND))
Error = GetLastError();
if ((Error != ERROR_DIRECTORY) && (Error != ERROR_SHARING_VIOLATION)
&& (Error != ERROR_FILE_NOT_FOUND))
{
ErrorMessage(Error, EnumCtx->FullPathBuffer);
ErrorMessage(Error, pszFile);
}
return FALSE;
}
do
{
BOOL bIsReparse;
size_t offNewFilePart;
if (!(EnumCtx->findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
if (!(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
continue;
if (!wcscmp(findFileName, L".") || !wcscmp(findFileName, L".."))
continue;
/* Allow at most 2 levels of reparse points / symbolic links */
bIsReparse = !!(EnumCtx->findData.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT);
if (bIsReparse)
if (!wcscmp(findData.cFileName, L".") ||
!wcscmp(findData.cFileName, L".."))
{
if (EnumCtx->uReparseLevel < 2)
EnumCtx->uReparseLevel++;
else
continue;
continue;
}
hRes = StringCchPrintfExW(pFilePart, cchRemaining,
NULL, &offNewFilePart, 0,
L"%s\\", findFileName);
/* Offset to the new file name part */
offNewFilePart = EnumCtx->cchBuffer - offNewFilePart;
bFound |= EnumFilesWorker(EnumCtx, offNewFilePart);
/* Recalculate the file part pointer and the number of characters
* remaining: the buffer may have been enlarged and relocated. */
pFilePart = EnumCtx->FullPathBuffer + offFilePart;
cchRemaining = EnumCtx->cchBuffer - offFilePart;
/* If we went through a reparse point / symbolic link, decrease level */
if (bIsReparse)
EnumCtx->uReparseLevel--;
wcscpy(pszFileName, findData.cFileName);
wcscat(pszFileName, L"\\");
bFound |= PrintAttribute(szFullName, pszFile, bRecurse, bDirectories);
}
while (FindNextFileW(hFind, &EnumCtx->findData));
while (FindNextFileW(hFind, &findData));
FindClose(hFind);
}
/* Append the file name pattern to search for */
hRes = StringCchCopyW(pFilePart, cchRemaining, EnumCtx->FileName);
/* append file name */
wcscpy(pszFileName, pszFile);
/* Search in the current directory */
hFind = FindFirstFileW(EnumCtx->FullPathBuffer, &EnumCtx->findData);
/* search current directory */
hFind = FindFirstFileW(szFullName, &findData);
if (hFind == INVALID_HANDLE_VALUE)
{
return bFound;
}
do
{
BOOL bIsDir = !!(EnumCtx->findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY);
BOOL bExactMatch = (wcsicmp(findFileName, EnumCtx->FileName) == 0);
bIsDir = findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY;
bExactMatch = wcsicmp(findData.cFileName, pszFile) == 0;
if (bIsDir && !(EnumCtx->Flags & ENUM_DIRECTORIES) && !bExactMatch)
if (bIsDir && !bDirectories && !bExactMatch)
continue;
if (!wcscmp(findFileName, L".") || !wcscmp(findFileName, L".."))
if (!wcscmp(findData.cFileName, L".") ||
!wcscmp(findData.cFileName, L".."))
{
continue;
}
/* If we recursively enumerate files excluding directories,
* exclude any directory from the enumeration. */
if (bIsDir && !(EnumCtx->Flags & ENUM_DIRECTORIES) && (EnumCtx->Flags & ENUM_RECURSE))
continue;
wcscpy(pszFileName, findData.cFileName);
StringCchCopyW(pFilePart, cchRemaining, findFileName);
/* bFound = */ EnumCtx->Callback(&EnumCtx->findData, EnumCtx->FullPathBuffer, EnumCtx->Context);
ConPrintf(StdOut,
L"%c %c%c%c %s\n",
(findData.dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE) ? L'A' : L' ',
(findData.dwFileAttributes & FILE_ATTRIBUTE_SYSTEM) ? L'S' : L' ',
(findData.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) ? L'H' : L' ',
(findData.dwFileAttributes & FILE_ATTRIBUTE_READONLY) ? L'R' : L' ',
szFullName);
bFound = TRUE;
}
while (FindNextFileW(hFind, &EnumCtx->findData));
while (FindNextFileW(hFind, &findData));
FindClose(hFind);
return bFound;
}
static BOOL
AttribEnumFiles(
_In_ PCWSTR pszPath,
_In_ PCWSTR pszFile,
_In_ DWORD fFlags,
_In_ PATTRIBS_MASKS AttribsMasks)
/* Returns TRUE if anything changed, FALSE otherwise */
static
BOOL
ChangeAttribute(
LPWSTR pszPath,
LPWSTR pszFile,
BOOL bRecurse,
BOOL bDirectories,
DWORD dwMask,
DWORD dwAttrib)
{
ENUMFILES_CTX EnumContext = {0};
size_t offFilePart;
HRESULT hRes;
WIN32_FIND_DATAW findData;
HANDLE hFind;
WCHAR szFullName[MAX_PATH];
LPWSTR pszFileName;
BOOL bFound = FALSE;
BOOL bIsDir;
BOOL bExactMatch;
DWORD dwAttribute;
DWORD Error;
EnumContext.FileName = pszFile;
EnumContext.Flags = fFlags;
EnumContext.Callback = (AttribsMasks->dwMask == 0 ? PrintAttributes : ChangeAttributes);
EnumContext.Context = (AttribsMasks->dwMask == 0 ? NULL : AttribsMasks);
/* prepare full file name buffer */
wcscpy(szFullName, pszPath);
pszFileName = szFullName + wcslen(szFullName);
/* Prepare the full file path buffer */
EnumContext.cchBuffer = _countof(EnumContext.FullPathBuffer);
hRes = StringCchCopyExW(EnumContext.FullPathBuffer,
EnumContext.cchBuffer,
pszPath,
NULL,
&offFilePart,
0);
if (hRes != S_OK)
return FALSE;
/* Offset to the file name part */
offFilePart = EnumContext.cchBuffer - offFilePart;
if (EnumContext.FullPathBuffer[offFilePart - 1] != L'\\')
/* display all subdirectories */
if (bRecurse)
{
EnumContext.FullPathBuffer[offFilePart] = L'\\';
EnumContext.FullPathBuffer[offFilePart + 1] = UNICODE_NULL;
offFilePart++;
/* append *.* */
wcscpy(pszFileName, L"*.*");
hFind = FindFirstFileW(szFullName, &findData);
if (hFind == INVALID_HANDLE_VALUE)
{
Error = GetLastError();
if ((Error != ERROR_DIRECTORY) && (Error != ERROR_SHARING_VIOLATION)
&& (Error != ERROR_FILE_NOT_FOUND))
{
ErrorMessage(Error, pszFile);
}
return FALSE;
}
do
{
if (!(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
continue;
if (!wcscmp(findData.cFileName, L".") ||
!wcscmp(findData.cFileName, L".."))
{
continue;
}
wcscpy(pszFileName, findData.cFileName);
wcscat(pszFileName, L"\\");
bFound |= ChangeAttribute(szFullName, pszFile, bRecurse, bDirectories,
dwMask, dwAttrib);
}
while (FindNextFileW(hFind, &findData));
FindClose(hFind);
}
return EnumFilesWorker(&EnumContext, offFilePart);
/* append file name */
wcscpy(pszFileName, pszFile);
/* search current directory */
hFind = FindFirstFileW(szFullName, &findData);
if (hFind == INVALID_HANDLE_VALUE)
{
return bFound;
}
do
{
bIsDir = findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY;
bExactMatch = wcsicmp(findData.cFileName, pszFile) == 0;
if (bIsDir && !bDirectories && !bExactMatch)
continue;
if (!wcscmp(findData.cFileName, L".") ||
!wcscmp(findData.cFileName, L".."))
{
continue;
}
if (bRecurse && bIsDir && !bDirectories)
continue;
wcscpy(pszFileName, findData.cFileName);
dwAttribute = (findData.dwFileAttributes & ~dwMask) | dwAttrib;
SetFileAttributes(szFullName, dwAttribute);
bFound = TRUE;
}
while (FindNextFileW(hFind, &findData));
FindClose(hFind);
return bFound;
}
int wmain(int argc, WCHAR *argv[])
{
INT i;
DWORD dwEnumFlags = 0;
ATTRIBS_MASKS AttribsMasks = {0};
BOOL bRecurse = FALSE;
BOOL bDirectories = FALSE;
DWORD dwAttrib = 0;
DWORD dwMask = 0;
BOOL bFound = FALSE;
PWSTR pszFileName;
WCHAR szFilePath[MAX_PATH + 2] = L""; // + 2 to reserve an extra path separator and a NULL-terminator.
@@ -331,9 +309,9 @@ int wmain(int argc, WCHAR *argv[])
else
/* Retrieve the enumeration modes */
if (wcsicmp(argv[i], L"/s") == 0)
dwEnumFlags |= ENUM_RECURSE;
bRecurse = TRUE;
else if (wcsicmp(argv[i], L"/d") == 0)
dwEnumFlags |= ENUM_DIRECTORIES;
bDirectories = TRUE;
else
{
/* Unknown option */
@@ -356,47 +334,37 @@ int wmain(int argc, WCHAR *argv[])
switch (towupper(argv[i][1]))
{
case L'A':
AttribsMasks.dwMask |= FILE_ATTRIBUTE_ARCHIVE;
dwMask |= FILE_ATTRIBUTE_ARCHIVE;
if (bAdd)
AttribsMasks.dwAttrib |= FILE_ATTRIBUTE_ARCHIVE;
dwAttrib |= FILE_ATTRIBUTE_ARCHIVE;
else
AttribsMasks.dwAttrib &= ~FILE_ATTRIBUTE_ARCHIVE;
dwAttrib &= ~FILE_ATTRIBUTE_ARCHIVE;
break;
case L'S':
AttribsMasks.dwMask |= FILE_ATTRIBUTE_SYSTEM;
dwMask |= FILE_ATTRIBUTE_SYSTEM;
if (bAdd)
AttribsMasks.dwAttrib |= FILE_ATTRIBUTE_SYSTEM;
dwAttrib |= FILE_ATTRIBUTE_SYSTEM;
else
AttribsMasks.dwAttrib &= ~FILE_ATTRIBUTE_SYSTEM;
dwAttrib &= ~FILE_ATTRIBUTE_SYSTEM;
break;
case L'H':
AttribsMasks.dwMask |= FILE_ATTRIBUTE_HIDDEN;
dwMask |= FILE_ATTRIBUTE_HIDDEN;
if (bAdd)
AttribsMasks.dwAttrib |= FILE_ATTRIBUTE_HIDDEN;
dwAttrib |= FILE_ATTRIBUTE_HIDDEN;
else
AttribsMasks.dwAttrib &= ~FILE_ATTRIBUTE_HIDDEN;
dwAttrib &= ~FILE_ATTRIBUTE_HIDDEN;
break;
case L'R':
AttribsMasks.dwMask |= FILE_ATTRIBUTE_READONLY;
dwMask |= FILE_ATTRIBUTE_READONLY;
if (bAdd)
AttribsMasks.dwAttrib |= FILE_ATTRIBUTE_READONLY;
dwAttrib |= FILE_ATTRIBUTE_READONLY;
else
AttribsMasks.dwAttrib &= ~FILE_ATTRIBUTE_READONLY;
dwAttrib &= ~FILE_ATTRIBUTE_READONLY;
break;
#ifdef EXTENDED_ATTRIBUTES
case L'I':
AttribsMasks.dwMask |= FILE_ATTRIBUTE_NOT_CONTENT_INDEXED;
if (bAdd)
AttribsMasks.dwAttrib |= FILE_ATTRIBUTE_NOT_CONTENT_INDEXED;
else
AttribsMasks.dwAttrib &= ~FILE_ATTRIBUTE_NOT_CONTENT_INDEXED;
break;
#endif
default:
ConResPrintf(StdErr, STRING_ERROR_INVALID_PARAM_FORMAT, argv[i]);
return -1;
@@ -412,10 +380,19 @@ int wmain(int argc, WCHAR *argv[])
/* If no file specification was found, operate on all files of the current directory */
if (!bFound)
{
GetCurrentDirectoryW(_countof(szFilePath) - 2, szFilePath);
pszFileName = ALL_FILES_PATTERN;
DWORD len = GetCurrentDirectoryW(_countof(szFilePath) - 2, szFilePath);
if (szFilePath[len - 1] != L'\\')
{
szFilePath[len] = L'\\';
szFilePath[len + 1] = UNICODE_NULL;
}
pszFileName = L"*.*";
if (dwMask == 0)
bFound = PrintAttribute(szFilePath, pszFileName, bRecurse, bDirectories);
else
bFound = ChangeAttribute(szFilePath, pszFileName, bRecurse, bDirectories, dwMask, dwAttrib);
bFound = AttribEnumFiles(szFilePath, pszFileName, dwEnumFlags, &AttribsMasks);
if (!bFound)
ConResPrintf(StdOut, STRING_FILE_NOT_FOUND, pszFileName);
@@ -442,7 +419,11 @@ int wmain(int argc, WCHAR *argv[])
pszFileName = L"";
}
bFound = AttribEnumFiles(szFilePath, pszFileName, dwEnumFlags, &AttribsMasks);
if (dwMask == 0)
bFound = PrintAttribute(szFilePath, pszFileName, bRecurse, bDirectories);
else
bFound = ChangeAttribute(szFilePath, pszFileName, bRecurse, bDirectories, dwMask, dwAttrib);
if (!bFound)
ConResPrintf(StdOut, STRING_FILE_NOT_FOUND, argv[i]);
}

View File

@@ -3,7 +3,6 @@
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2014 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com>
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
@@ -24,6 +23,6 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] fișier ...\n\
Tastați ATTRIB fără argumente pentru afișarea atributelor pentru\n\
toate fișierele.\n"
STRING_CONSOLE_ERROR "Eroare necunoscută: %d\n"
STRING_FILE_NOT_FOUND "Fișierul nu a fost găsit - '%s'\n"
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Formatul argumentului este eronat - %s\n"
END

View File

@@ -26,6 +26,6 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] файл ...\n\
/D Обработка и файлов, и папок.\n\n\
Команда ATTRIB без параметров выводит атрибуты всех файлов.\n"
STRING_CONSOLE_ERROR "Неизвестная ошибка: %d\n"
STRING_FILE_NOT_FOUND "Файл не найден - '%s'\n"
STRING_FILE_NOT_FOUND "File not found - '%s'\n"
STRING_ERROR_INVALID_PARAM_FORMAT "Неверный формат параметра - %s\n"
END

View File

@@ -9,7 +9,7 @@ COMP [/L] [/A] [данные1] [данные2]\n\n\
/A Вывод различий в формате ASCII (по умолчанию: шестнадцатиричный).\n\
/L Вывод номеров строк, в которых обнаружены различия.\n"
IDS_INVALIDSWITCH "Недопустимый ключ - /%c\n"
IDS_BADSYNTAX "Неверный формат командной строки\n"
IDS_BADSYNTAX "Не верный формат командной строки\n"
IDS_FILEERROR "Не удалось найти/открыть файл: %s\n"
IDS_COMPARING "Сравнение %s и %s...\n"
IDS_FILESIZEERROR "Не удалось определить размер файла: %s\n"

View File

@@ -2,7 +2,7 @@
* PROJECT: ReactOS FC Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2022-2024 Andrei Miloiu <miloiuandrei@gmail.com>
* TRANSLATORS: Copyright 2022 Andrei Miloiu <miloiuandrei@gmail.com>
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
@@ -39,7 +39,7 @@ FC /B [discul1:][calea1]numele fișierului1 [drive2:][path2]numele fișierului2\
IDS_OUT_OF_MEMORY "FC: Fără memorie\n"
IDS_CANNOT_READ "FC: nu poate fi citit din %ls\n"
IDS_INVALID_SWITCH "FC: Comutator nevalidh\n"
IDS_CANNOT_OPEN "FC: nu poate fi deschis %ls - Nu există un astfel de fișier sau folder\n"
IDS_CANNOT_OPEN "FC: nu poate fi deschis %ls - Nu există un astfel de fișier sau dosar\n"
IDS_NEEDS_FILES "FC: Număr insuficient de specificații pentru fișiere\n"
IDS_CANT_USE_WILDCARD "Semnele speciale ('*' și '?') nu sunt acceptate deocamdată\n"
IDS_DIFFERENT "FC: Fișierele %ls și %ls sunt diferite\n"

View File

@@ -30,9 +30,9 @@ FC /B [диск1:][путь1]имя_файла1 [диск2:][путь2]имя_ф
IDS_LONGER_THAN "FC: %ls длиннее, чем %ls\n"
IDS_COMPARING "Сравнение файлов %ls и %ls\n"
IDS_OUT_OF_MEMORY "FC: Недостаточно памяти\n"
IDS_CANNOT_READ "FC: Не удаётся прочитать %ls\n"
IDS_CANNOT_READ "FC: не удаётся прочитать %ls\n"
IDS_INVALID_SWITCH "FC: Недопустимый ключ\n"
IDS_CANNOT_OPEN "FC: Не удаётся открыть %ls - файл либо папка не существует\n"
IDS_CANNOT_OPEN "FC: не удаётся открыть %ls - файл либо папка не существует\n"
IDS_NEEDS_FILES "FC: Недостаточное количество имён файлов\n"
IDS_CANT_USE_WILDCARD "Подстановочные знаки ('*' и '?') пока не поддерживаются\n"
IDS_DIFFERENT "FC: Файлы %ls и %ls различны\n"

View File

@@ -1,9 +1,9 @@
/*
* PROJECT: ReactOS Find Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2019 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com>
* FILE: base/applications/cmdutils/find/lang/ro-RO.rc
* ReactOS Project (https://reactos.org)
* TRANSLATOR: Fulea Ștefan (PM on ReactOS Forum at fulea.stefan)
* CHANGE LOG: 2011-08-20 initial translation
* 2011-10-17 diacritics change, other minor changes
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
@@ -16,9 +16,8 @@ FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] ""șir"" [fișier...]\n\
/C Numără liniile ce conțin șirul.\n\
/N Numără rândurile afișate, începând cu 1.\n\
/I Ignoră diferențele între majuscule și minuscule.\n\
/OFF[LINE] Nu omite fișierele care au configurate atributul\n\
offline (deconectat)."
/OFF[LINE] Do not skip files that have the offline attribute set."
IDS_NO_SUCH_FILE "FIND: Fișierul «%s» nu există!\n"
IDS_CANNOT_OPEN "FIND: Fișierul «%s» nu poate fi deschis!\n"
IDS_INVALID_SWITCH "FIND: Comutare nevalidă\n"
IDS_INVALID_SWITCH "FIND: Invalid switch\n"
END

View File

@@ -8,11 +8,11 @@ FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] ""строка"" [[диск:][путь]и
/C Вывод только общего числа строк, содержащих заданную строку.\n\
/N Вывод номеров отображаемых строк.\n\
/I Поиск без учета регистра символов.\n\
/OFF[LINE] Не пропускать файлы, у которых установлен атрибут offline.\n\
/OFF[LINE] Do not skip files that have the offline attribute set.\n\
""строка"" Искомая строка.\n\
[диск:][путь]имя_файла\n\
Один или несколько файлов, в которых выполняется поиск."
IDS_NO_SUCH_FILE "FIND: %s: Файл не существует.\n"
IDS_CANNOT_OPEN "FIND: %s: Невозможно открыть файл.\n"
IDS_INVALID_SWITCH "FIND: Недопустимый ключ\n"
IDS_INVALID_SWITCH "FIND: Invalid switch\n"
END

View File

@@ -1,9 +1,8 @@
/*
* PROJECT: ReactOS help utility
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2014-2018 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com>
* FILE: base/applications/cmdutils/help/lang/ro-RO.rc
* ReactOS Project (https://reactos.org)
* AUTHOR: Magnus Olsen, 2005
* TRANSLATOR: Ștefan Fulea (stefan dot fulea at mail dot com)
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
@@ -22,7 +21,7 @@ HELP [comandă]\n\n\
help comandă\n\
comandă /? Pentru mai multe informații referitoare la o anume comandă.\n\n\
? Enumeră toate comenzile disponibile (fără descriere).\n\
ALIAS Setează, șterge sau afișează aliasuri.\n\
ALIAS Instituie, destituie sau afișează alias.\n\
ASSOC Modifică asocierile extensiilor de fișiere.\n\
ATTRIB Afișează sau modifică atributele fișierelor.\n\
BEEP Semnalizează utilizând difuzorul intern.\n\

View File

@@ -1,25 +1,20 @@
/*
* PROJECT: ReactOS Label Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2019 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023-2024 Andrei Miloiu <miloiuandrei@gmail.com>
*/
/* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
STRING_LABEL_HELP "Crează, schimbă sau șterge denumirea unui disc.\n\n\
LABEL [disc:][denumire]\n\n\
disc: Specifică litera unui disc.\n\
denumire Specifică denumirea unui disc."
STRING_LABEL_TEXT1 "Volumul discului %c: este %s\n"
STRING_LABEL_TEXT2 "Volumul discului %c: nu are denumire.\n"
// STRING_LABEL_HELP "Afișează sau modifică eticheta unei unități (de stocare).\n\nLABEL [unitate:][etichetă]\n"
STRING_LABEL_HELP "Creates, changes or deletes the volume label of a disk.\n\n\
LABEL [drive:][label]\n\n\
drive: Specifies the drive letter of a drive.\n\
label Specifies the label of the drive."
STRING_LABEL_TEXT1 "Volumul unității %c: este etichetat ca %s\n"
STRING_LABEL_TEXT2 "Volumul unității %c: nu este etichetat.\n"
STRING_LABEL_TEXT3 "Numărul de serie al volumului este %04X-%04X\n"
STRING_LABEL_TEXT4 "Denumirea volumului (32 de caractere, ENTER dacă dacă nu există)?"
STRING_LABEL_PROMPT "Ștergeți denumirea actuală a volumului (D/N)? "
STRING_LABEL_OPTIONS "DN"
STRING_ERROR_INVALID_DRIVE "Specificarea discului este nevalidă\n"
STRING_ERROR_INVALID_LABEL "Denumirea volumului e nevalidă\n"
STRING_LABEL_TEXT4 "Introduceți eticheta unității (opțională, de 32 caractere), apoi ENTER "
STRING_LABEL_PROMPT "Delete current volume label (Y/N)? "
STRING_LABEL_OPTIONS "YN"
STRING_ERROR_INVALID_DRIVE "Specificarea unității este eronată\n"
STRING_ERROR_INVALID_LABEL "Invalid volume label\n"
END

View File

@@ -1,10 +1,4 @@
/*
* PROJECT: ReactOS Mode Utility
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2018 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com>
*/
/* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
@@ -33,12 +27,12 @@ Rata de repetiție la menținerea unei taste apăsate:\n\
IDS_QUERY_PRINTER_FOUND "Depistat dispozitiv de imprimare - %s\n"
IDS_QUERY_PARALLEL_FOUND "Depistat dispozitiv la portul paralel - %s\n"
IDS_QUERY_DOSDEV_FOUND "Depistat dispozitiv de tip DOS - %s\n"
// IDS_QUERY_MISC_FOUND "A fost găsit alt dispozitiv - %s\n"
// IDS_QUERY_MISC_FOUND "Found other device - %s\n"
// IDS_QUERY_DEVICE_FOUND "A fost găsit dispozitivul %s - %s\n"
// IDS_QUERY_DEVICE_FOUND "Found %s device - %s\n"
// IDS_SERIAL "serial"
// IDS_PRINTER "paralel"
// IDS_OTHER "altul"
// IDS_PRINTER "parallel"
// IDS_OTHER "other"
END
STRINGTABLE
@@ -81,7 +75,7 @@ BEGIN
IDS_ERROR_TIMEOUT_SET_DEVICE "Eșec la stabilirea perioadei de expirare pentru dispozitivul %s:\n"
IDS_ERROR_INVALID_PARITY_BITS "EROARE: Valoare eronată pentru biții de paritate %d:\n"
IDS_ERROR_INVALID_STOP_BITS "EROARE: Valoare eronată pentru biții delimitori %d:\n"
IDS_ERROR_NO_MEMORY "EROARE: Nu există suficientă memorie.\n"
IDS_ERROR_NO_MEMORY "ERAORE: Nu există suficientă memorie.\n"
IDS_ERROR_SCREEN_LINES_COL "Ecranul nu poate fi stabilit cu numărul de linii sau coloane specificate.\n"
IDS_ERROR_INVALID_CODEPAGE "Pagina de cod specificată nu e validă.\n"
IDS_ERROR_INVALID_CODEPAGE "The code page specified is not valid.\n"
END

View File

@@ -1,65 +1,60 @@
/*
* PROJECT: ReactOS More Command
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2019 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023-2024 Andrei Miloiu <miloiuandrei@gmail.com>
* FILE: base/applications/cmdutils/more/lang/ro-RO.rc
* ReactOS Project (https://reactos.org)
* TRANSLATOR: Fulea Ștefan (PM on ReactOS Forum at fulea.stefan)
* CHANGE LOG: 2011-08-20 initial translation
* 2011-10-17 diacritics change, other minor changes
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE "Afișarea datelor pe ecran, pagină cu pagină.\n\
IDS_USAGE "Afișea date pe ecran, pagină-cu-pagină.\n\
\n\
MORE [/E [opțiuni]] < [disc:][cale]numele fișierului\n\
command | MORE [/E [opțiuni]\n\
MORE [/E [options]] < [drive:][path]filename\n\
command | MORE [/E [options]]\n\
\n\
[disc:][cale]numele fișierului Un fișier al cărui conținut\n\
urmează să fie afișat.\n\
comandă O comandă a cărei ieșire\n\
urmează să fie afișată.\n\
[drive:][path]filename A file whose contents are to be displayed.\n\
command A command whose output is to be displayed.\n\
\n\
Atunci când Caracteristicile extinse sunt activate,\n\
următoarea formă este acceptată:\n\
MORE [/E] [opțiuni] [fișiere]\n\
When Extended Features are enabled, the following form is supported:\n\
MORE [/E] [options] [files]\n\
\n\
Opțiuni:\n\
/E Activarea opțiunii Caracteristici extinse.\n\
Stadiul implicit al Caracteristicilor extinse e controlat de setările\n\
implicite de registru pentru programul CMD.EXE. Pentru mai multe detalii\n\
legate de cum pot fi schimbate aceste setări, vedeți secțiunea\n\
""Extensii de comenzi"" în secțiunea de ajutor a programului CMD.EXE.\n\
Options:\n\
/E Enable Extended Features.\n\
The default state of the Extended Features is controlled by the default\n\
registry settings for CMD.EXE. For more details on how to change these\n\
settings, see the section ""Command Extensions"" in CMD.EXE help.\n\
\n\
Atunci când opțiunea Caracteristici extinse e activată, sunt disponibile\n\
următoarele opțiuni:\n\
/C Curățarea ecranului înainte de a se afișa o pagină.\n\
/P Extinderea caracterelor Form-Feed (de alimentare de formulare).\n\
/S Reducerea liniilor goale succesive la o singură linie.\n\
/Tn Extinderea tab-urilor la n spații (implicit: 8).\n\
When Extended Features are enabled, the following options are available:\n\
/C Clear the screen before displaying a page.\n\
/P Expand Form-Feed characters.\n\
/S Shrink successive blank lines to a single line.\n\
/Tn Expand tabs to n spaces (default: 8).\n\
\n\
Aceste opțiuni pot fi specificate în variabila de mediu MORE.\n\
These options can be specified in the MORE environment variable.\n\
\n\
+n Începerea afișării primului fișier la linia n.\n\
fișiere Lista fișierelor de afișat, separate prin spații libere.\n\
+n Start displaying the first file at line n.\n\
files List of files to display, separated by blanks.\n\
\n\
Atunci când opțiunea Caracteristici extinse e activată, sunt disponibile\n\
următoarele comenzi la panoul ""-- Continuă --"":\n\
When Extended Features are enabled, the following commands are available\n\
at the ""-- Continue --"" prompt:\n\
\n\
P n Afișarea următoarelor n linii.\n\
S n Omiterea următoarelor n linii.\n\
F Afișarea următorului fișier.\n\
Q Ieșire.\n\
= Afișarea numărului de linie.\n\
? Afișarea liniei de ajutor.\n\
<Space> Afișarea următoarei pagini.\n\
<Enter> Afișarea următoari linii.\n"
P n Display the next n lines.\n\
S n Skip the next n lines.\n\
F Display the next file.\n\
Q Quit.\n\
= Show the line number.\n\
? Show the help line.\n\
<Space> Display the next page.\n\
<Enter> Display the next line.\n"
IDS_BAD_FLAG "Argument nevalid - '%s'\n"
IDS_BAD_FLAG "Invalid argument - '%s'\n"
IDS_FILE_ACCESS "Fișierul «%s» nu poate fi accesat!\n"
IDS_CONTINUE_PROMPT "-- Continuă%1%2%3 --%4"
IDS_CONTINUE_PERCENT " (%d%%)"
IDS_CONTINUE_LINE_AT " [Linie: %d]"
IDS_CONTINUE_OPTIONS " [Opțiuni: psfq=<Space><Enter>]"
IDS_CONTINUE_LINES " Linii: "
IDS_CONTINUE_LINE_AT " [Line: %d]"
IDS_CONTINUE_OPTIONS " [Options: psfq=<Space><Enter>]"
IDS_CONTINUE_LINES " Lines: "
END

View File

@@ -276,12 +276,7 @@ static BOOL parse_data_type(struct parser *parser, WCHAR **line)
/* "hex(xx):" is special */
val = wcstoul(*line, &end, 16);
#ifdef __REACTOS__
/* Up to 8 hex digits, "hex(000000002)" is invalid */
if (*end != ')' || *(end + 1) != ':' || (val == ~0u && errno == ERANGE) || end - *line > 8)
#else
if (*end != ')' || *(end + 1) != ':' || (val == ~0u && errno == ERANGE))
#endif
return FALSE;
parser->data_type = val;

View File

@@ -1,104 +1,100 @@
/*
* PROJECT: ReactOS Registry Console Tool
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2010 Claudia Cotună <special4ti@gmail.com>
* Copyright 2010 Michael Stefaniuc <mstefani@redhat.com>
* Copyright 2014-2018 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com>
* Translators: Claudia Cotună
* Michael Stefaniuc
* Ștefan Fulea (stefan dot fulea at mail dot com)
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
STRINGTABLE
{
STRING_USAGE, "Utilizare:\n\
REG [operațiune] [parametri]\n\n\
Operațiuni suportate:\n\
STRING_USAGE, "Usage:\n\
REG [operation] [parameters]\n\n\
Supported operations:\n\
ADD | COPY | DELETE | EXPORT | IMPORT | QUERY\n\n\
Pentru ajutor la o operațiune specifică, tastați:\n\
REG [operațiune] /?\n\n"
For help on a specific operation, type:\n\
REG [operation] /?\n\n"
STRING_ADD_USAGE, "REG ADD <cheie> [/v numele_valorii | /ve] [/t tip] [/s separator] [/d date] [/f]\n\n\
Adaugă o cheie la registru sau adaugă o valoare nouă la o cheie dată a registrului.\n\n\
<cheie>\n\
Cheia registrului de adăugat sau dacă e specificat fie [/v], fie [/ve],\n\
cheia în care urmează să fie adăugate noile date de registru.\n\n\
Format: ROOT\\Subcheie\n\n\
ROOT: O cheie de registru predefinită. Aceasta trebuie să fie una dintre următoarele:\n\n\
STRING_ADD_USAGE, "REG ADD <key> [/v value_name | /ve] [/t type] [/s separator] [/d data] [/f]\n\n\
Adds a key to the registry or adds a new value to a given registry key.\n\n\
<key>\n\
The registry key to add or, if either [/v] or [/ve] is specified,\n\
the key in which to add the new registry data.\n\n\
Format: ROOT\\Subkey\n\n\
ROOT: A predefined registry key. This must be one of the following:\n\n\
HKEY_LOCAL_MACHINE | HKLM\n\
HKEY_CURRENT_USER | HKCU\n\
HKEY_CLASSES_ROOT | HKCR\n\
HKEY_USERS | HKU\n\
HKEY_CURRENT_CONFIG | HKCC\n\n\
Subcheie: Calea completă către o cheie de registru de sub o anumită cheie dată ROOT.\n\n\
/v <numele_valorii>\n\
Numele valorii registrului de adăugat.\n\n\
Subkey: The full path to a registry key under a given ROOT key.\n\n\
/v <value_name>\n\
The name of the registry value to add.\n\n\
/ve\n\
Adaugă o valoare de registru fără nume. Această opțiune modifică valoarea\n\
(Implicită) a registrului.\n\n\
/t <tip>\n\
Tipul de date ce urmează să fie adăugate în registru. Dacă [/t] e specificat,\n\
<tip> trebuie să fie una din următoarele:\n\n\
Add an unnamed registry value. This option modifies the (Default)\n\
registry value.\n\n\
/t <type>\n\
The type of data to add to the registry. If [/t] is specified,\n\
<type> must be one of the following:\n\n\
REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ\n\
REG_DWORD | REG_BINARY | REG_NONE\n\n\
Dacă [/t] nu e specificat, tipul implicit de date este REG_SZ.\n\n\
If [/t] is not specified, the default data type is REG_SZ.\n\n\
/s <separator>\n\
Caracterul folosit ca să separe șiruri în datele REG_MULTI_SZ.\n\
Dacă [/s] nu e specificat, separatorul implicit este \\0.\n\n\
/d <date>\n\
Datele ce urmează să fie adăugate la noua valoare a registrului.\n\n\
The character used to separate strings in REG_MULTI_SZ data.\n\
If [/s] is not specified, the default separator is \\0.\n\n\
/d <data>\n\
The data to add to the new registry value.\n\n\
/f\n\
Modifică regiștrul fără să fie cerută vreo confirmare.\n\n"
Modify the registry without prompting for confirmation.\n\n"
STRING_DELETE_USAGE, "REG DELETE <cheie> [/v numele_valorii | /ve | /va] [/f]\n\n\
Șterge o cheie de registru (incluzând toate subcheile și valorile) sau șterge\n\
una sau mai multe valori dintr-o cheie de registru dată.\n\n\
<cheie>\n\
Cheia de registru ce urmează să fie ștearsă sau dacă una din [/v], [/ve] sau [/va] e\n\
specificată, cheia de registru în care urmează să fie ștearsă/șterse una sau mai multe valori.\n\n\
Format: ROOT\\Subcheie\n\n\
ROOT: O cheie de registru predefinită. Aceasta trebuie să fie una dintre următoarele:\n\n\
STRING_DELETE_USAGE, "REG DELETE <key> [/v value_name | /ve | /va] [/f]\n\n\
Deletes a registry key (including all subkeys and values), or deletes\n\
one or more values from a given registry key.\n\n\
<key>\n\
The registry key to delete or, if one of [/v], [/ve] or [/va] is\n\
specified, the registry key in which to delete one or more values.\n\n\
Format: ROOT\\Subkey\n\n\
ROOT: A predefined registry key. This must be one of the following:\n\n\
HKEY_LOCAL_MACHINE | HKLM\n\
HKEY_CURRENT_USER | HKCU\n\
HKEY_CLASSES_ROOT | HKCR\n\
HKEY_USERS | HKU\n\
HKEY_CURRENT_CONFIG | HKCC\n\n\
Subcheie: Calea completă a cheii de registru cu o cheie ROOT dată.\n\n\
Subkey: The full path to a registry key under a given ROOT key.\n\n\
/v <value_name>\n\
Numele valorii de registru ce urmează să fie ștearsă\n\n\
The name of the registry value to delete.\n\n\
/ve\n\
Șterge o valoare de registru nedenumită. Această opțiune șterge\n\
valoarea (Implicită) a registrului.\n\n\
Delete an unnamed registry value. This option deletes the (Default)\n\
registry value.\n\n\
/va\n\
Șterge toate valorile dintr-o cheie de registru.\n\n\
Delete all values from a registry key.\n\n\
/f\n\
Șterge o cheie de registru (incluzând toate subcheile și valorile) fără\n\
să necesite confirmare.\n\n"
Delete a registry key (including all subkeys and values) without\n\
prompting for confirmation.\n\n"
STRING_QUERY_USAGE, "REG QUERY <cheie> [/v numele_valorii | /ve] [/s]\n\n\
Interoghează o cheie de registru specificată și listează toate subcheile, valorile și datele\n\
ce urmează imediat în acea cheie. Folosiți [/s] pentru a interoga recursiv fiecare subcheie.\n\n\
<cheie>\n\
Cheia de registru de interogat.\n\n\
Format: ROOT\\Subcheie\n\n\
ROOT: O cheie de registru predefinită. Aceasta trebuie să aibă una dintre următoarele:\n\n\
STRING_QUERY_USAGE, "REG QUERY <key> [/v value_name | /ve] [/s]\n\n\
Queries a specified registry key and lists all immediate subkeys, values\n\
and data within that key. Use [/s] to recursively query each subkey.\n\n\
<key>\n\
The registry key to query.\n\n\
Format: ROOT\\Subkey\n\n\
ROOT: A predefined registry key. This must be one of the following:\n\n\
HKEY_LOCAL_MACHINE | HKLM\n\
HKEY_CURRENT_USER | HKCU\n\
HKEY_CLASSES_ROOT | HKCR\n\
HKEY_USERS | HKU\n\
HKEY_CURRENT_CONFIG | HKCC\n\n\
Subcheie: Calea completă către o cheie de registru de sub o anumită cheie dată ROOT.\n\n\
/v <numele_valorii>\n\
Numele valorii de registru ce urmează să fie interogată. Dacă nu se specifică nici [/v],\n\
nici [/ve], toate valorile de sub <cheie> sunt listate.\n\n\
Subkey: The full path to a registry key under a given ROOT key.\n\n\
/v <value_name>\n\
The name of the registry value to query. If neither [/v] nor [/ve] is\n\
specified, all values under <key> are listed.\n\n\
/ve\n\
Interoghează o valoare de registru nedenumită. Această opțiune interoghează\n\
valoarea (Implicită) a registrului.\n\n\
Query an unnamed registry value. This option queries the (Default)\n\
registry value.\n\n\
/s\n\
Listează toate intrările registrului de sub <cheie> și subcheile sale.\n\n"
List all registry entries under <key> and its subkeys.\n\n"
STRING_SUCCESS, "Operațiunea a fost îndeplinită cu succes\n"
STRING_SUCCESS, "Operația a fost îndeplinită cu succes\n"
STRING_INVALID_KEY, "Eroare: Nume de cheie nevalid\n"
STRING_INVALID_CMDLINE, "Eroare: Parametri nevalizi pentru linia de comandă\n"
STRING_NO_REMOTE, "Eroare: Nu pot fi adăugate chei într-un calculator la distanță\n"
@@ -108,18 +104,18 @@ Pentru ajutor la o operațiune specifică, tastați:\n\
STRING_MISSING_HEXDATA, "reg: Opțiunea [/d] trebuie să fie urmată de o valoare hexezecimală\n"
STRING_UNHANDLED_TYPE, "reg: Tip de dată nerecunoscut [/t 0x%1!x!, /d %2]\n"
STRING_OVERWRITE_VALUE, "Valoarea de registru «%1» deja există. Doriți s-o suprascrieți?"
STRING_YES, "D"
STRING_YES, "Y"
STRING_NO, "N"
STRING_ALL, "T"
STRING_YESNO, " (Da|Nu)"
STRING_YESNOALL, " (Da|Nu|Toate)"
STRING_CANCELLED, "Operațiunea de registru a fost anulată\n"
STRING_ALL, "A"
STRING_YESNO, " (Yes|No)"
STRING_YESNOALL, " (Yes|No|All)"
STRING_CANCELLED, "Operația de registru a fost anulată\n"
STRING_DEFAULT_VALUE, "(Implicită)"
STRING_DELETE_VALUE, "Sigur doriți ștergerea valorii de registru «%1»?"
STRING_DELETE_VALUEALL, "Sigur doriți ștergerea tuturor valorilor de registru din «%1»?"
STRING_DELETE_SUBKEY, "Sigur doriți ștergerea cheii de registru «%1»?"
STRING_INVALID_STRING, "reg: Opțiunea [/d] trebuie urmată de un șir valid\n"
STRING_VALUEALL_FAILED, "reg: Nu au putut fi șterse toate valorile de registru din «%1». A apărut o eroare neașteptată.\n"
STRING_VALUEALL_FAILED, "reg: Nu au putut fi șterse toate valorile de registru din «%1». A survenit o eroare neașteptată.\n"
STRING_MATCHES_FOUND, "Căutare efectuată. Numărul de potriviri găsite: %1!d!\n"
STRING_INVALID_SYNTAX, "reg: Sintaxă nerespectată. "
STRING_INVALID_OPTION, "reg: Opțiune nevalidă [%1]. "
@@ -127,65 +123,65 @@ Pentru ajutor la o operațiune specifică, tastați:\n\
STRING_FUNC_HELP, "Tastați «REG %1 /?» pentru mai multe informații.\n"
STRING_VALUE_NOT_SET, "(valoare nealocată)"
STRING_IMPORT_USAGE, "REG IMPORT <fișier>\n\n\
Importă chei, valori și date dintr-un fișier dat în regiștri.\n\n\
<fișier>\n\
Numele și calea fișierului de regiștri de importat.\n\n"
STRING_IMPORT_USAGE, "REG IMPORT <file>\n\n\
Imports keys, values and data from a given file into the registry.\n\n\
<file>\n\
The name and path of the registry file to import.\n\n"
STRING_FILE_NOT_FOUND, "reg: Fișierul «%1» nu a putut fi găsit.\n"
STRING_ESCAPE_SEQUENCE, "reg: Secvența de ieșire [\\%1!c!] nu este recunoscută.\n"
STRING_ESCAPE_SEQUENCE, "reg: Secvența de sustracție [\\%1!c!] nu este recunoscută.\n"
STRING_EXPORT_USAGE, "REG EXPORT <cheie> <fișier> [/y]\n\n\
Exportă o cheie de registru specificată (incluzând toate subcheile și valorile)\n\
într-un fișier.\n\n\
<cheie>\n\
Cheia de registru ce urmează să fie exportată.\n\n\
Format: ROOT\\Subcheie\n\n\
ROOT: O cheie de registru predefinită. Aceasta trebuie să aibă una dintre următoarele:\n\n\
STRING_EXPORT_USAGE, "REG EXPORT <key> <file> [/y]\n\n\
Exports a specified registry key (including all subkeys and values)\n\
to a file.\n\n\
<key>\n\
The registry key to export.\n\n\
Format: ROOT\\Subkey\n\n\
ROOT: A predefined registry key. This must be one of the following:\n\n\
HKEY_LOCAL_MACHINE | HKLM\n\
HKEY_CURRENT_USER | HKCU\n\
HKEY_CLASSES_ROOT | HKCR\n\
HKEY_USERS | HKU\n\
HKEY_CURRENT_CONFIG | HKCC\n\n\
Subcheie: Calea completă către o cheie de registru de sub o anumită cheie dată ROOT.\n\n\
<fișier>\n\
Numele și calea fișierului de regiștri ce urmează să fie creat.\n\
Fișierul trebuie să aibă extensia .reg.\n\n\
Subkey: The full path to a registry key under a given ROOT key.\n\n\
<file>\n\
The name and path of the registry file that will be created.\n\
This file must have a .reg extension.\n\n\
/y\n\
Suprascrieți <fișierul> fără să se necesite confirmarea.\n\n"
Overwrite <file> without prompting for confirmation.\n\n"
STRING_INVALID_SYSTEM_KEY, "reg: Cheia de sistem [%1] nu este una validă.\n"
STRING_OVERWRITE_FILE, "Fișierul «%1» deja există. Doriți suprascrierea lui?"
STRING_KEY_NONEXIST, "reg: Nu a putut fi găsită cheia de registru specificată\n"
STRING_KEY_IMPORT_FAILED, "reg: Nu a putut fi importată cheia de registru '%1'\n"
STRING_KEY_NONEXIST, "reg: Unable to find the specified registry key\n"
STRING_KEY_IMPORT_FAILED, "reg: Unable to import the registry key '%1'\n"
STRING_REG_VIEW_USAGE, " /reg:32\n\
Accesează regiștrii folosind vizualizatorul de 32 de biți.\n\n\
Access the registry using the 32-bit view.\n\n\
/reg:64\n\
Accesează regiștrii folosind vizualizatorul de 64 de biți.\n\n"
STRING_ACCESS_DENIED, "reg: Cheia de registru specificată nu a putut fi accesată sau creată\n"
Access the registry using the 64-bit view.\n\n"
STRING_ACCESS_DENIED, "reg: Unable to access or create the specified registry key\n"
STRING_COPY_USAGE, "REG COPY <cheia1> <cheia2> [/s] [/f]\n\n\
Copiază conținutul unei chei de registru specificată în altă locație.\n\
Implicit, această operațiune copiază numai valorile de registru. Folosiți [/s] pentru\n\
a copia în mod recursiv toate subcheile și valorile.\n\n\
<cheia1>, <cheia2>\n\
Cheile de registru care specifică sursa (<cheia1>) și destinația (<cheia2>)\n\
a datelor. Dacă <cheia2> nu există, este creată.\n\n\
Format: ROOT\\Subcheie\n\n\
ROOT: O cheie de registru predefinită. Aceasta trebuie să aibă una dintre următoarele:\n\n\
STRING_COPY_USAGE, "REG COPY <key1> <key2> [/s] [/f]\n\n\
Copies the contents of a specified registry key to another location.\n\
By default, this operation only copies registry values. Use [/s] to\n\
recursively copy all subkeys and values.\n\n\
<key1>, <key2>\n\
Registry keys specifying the source (<key1>) and destination (<key2>)\n\
of the data. If <key2> does not exist, it is created.\n\n\
Format: ROOT\\Subkey\n\n\
ROOT: A predefined registry key. This must be one of the following:\n\n\
HKEY_LOCAL_MACHINE | HKLM\n\
HKEY_CURRENT_USER | HKCU\n\
HKEY_CLASSES_ROOT | HKCR\n\
HKEY_USERS | HKU\n\
HKEY_CURRENT_CONFIG | HKCC\n\n\
Subcheie: Calea completă către o cheie de registru de sub o anumită cheie dată ROOT.\n\n\
Subkey: The full path to a registry key under a given ROOT key.\n\n\
/s\n\
Copiază toate subcheile și valorile din <cheia1> în <cheia2>.\n\n\
Copy all subkeys and values from <key1> to <key2>.\n\n\
/f\n\
Suprascrie toate datele registrului în <cheia2> fără să se necesite confirmare.\n\
Această opțiune nu modifică subcheile și valorile ce există doar în <cheia2>.\n\n"
Overwrite all registry data in <key2> without prompting for confirmation.\n\
This option does not modify subkeys and values that only exist in <key2>.\n\n"
STRING_COPY_SRC_DEST_SAME, "reg: Cheile sursă și destinație nu pot fi aceleași\n"
STRING_COPY_CONFIRM, "Valoarea '%1\\%2' există deja în cheia de destinație. Doriți să o suprascrieți?"
STRING_COPY_SRC_DEST_SAME, "reg: The source and destination keys cannot be the same\n"
STRING_COPY_CONFIRM, "The value '%1\\%2' already exists in the destination key. Do you want to overwrite it?"
}

View File

@@ -1,10 +1,4 @@
/*
* PROJECT: ReactOS Taskkill Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2011-2019 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2023-2024 Andrei Miloiu <miloiuandrei@gmail.com>
*/
/* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
@@ -20,10 +14,10 @@ STRINGTABLE
STRING_CLOSE_PROC_SRCH, "Către fereastra procesului «%1» cu PID %2!u! a fost emis un mesaj de închidere.\n"
STRING_TERM_PID_SEARCH, "Procesul cu PID %1!u! a fost oprit în mod forțat.\n"
STRING_TERM_PROC_SEARCH, "Procesul «%1» cu PID %2!u! a fost oprit în mod forțat.\n"
STRING_SEARCH_FAILED, "Eroare: Nu se poate găsi procesul «%1».\n"
STRING_ENUM_FAILED, "Eroare: Nu se poate enumera lista de procese.\n"
STRING_SEARCH_FAILED, "Eroare: Procesul «%1» nu poate fi găsit.\n"
STRING_ENUM_FAILED, "Eroare: Procesele nu au putut fi enumerate.\n"
STRING_TERMINATE_FAILED, "Eroare: Procesul «%1» nu poate fi oprit.\n"
STRING_SELF_TERMINATION, "Eroare: Auto-terminarea nu este permisă.\n"
STRING_PARAM_TOO_MUCH, "Eroare: Sintaxă nevalidă. Opțiunea '%1' nu este permisă mai mult de '%2!d!' dată(dăți).\n"
STRING_INVALID_SYNTAX, "Eroare: Sintaxă nevalidă.\n"
STRING_PARAM_TOO_MUCH, "Error: Invalid syntax. '%1' option is not allowed more than '%2!d!' time(s).\n"
STRING_INVALID_SYNTAX, "Error: Invalid syntax.\n"
}

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Bulgarian resource file
* TRANSLATOR:
*/
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Catalan resource file
* TRANSLATOR:
*/
LANGUAGE LANG_CATALAN, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Czech resource file
* TRANSLATOR:
*/
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: German resource file
* TRANSLATOR:
*/
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Greek resource file
* TRANSLATOR:
*/
LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: English (United States) resource file
* TRANSLATOR: Copyright 2021 He Yang <1160386205@qq.com>
*/
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Spanish resource file
* TRANSLATOR:
*/
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Estonian resource file
* TRANSLATOR:
*/
LANGUAGE LANG_ESTONIAN, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: French resource file
* TRANSLATOR:
*/
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Italian resource file
* TRANSLATOR:
*/
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Lithuanian resource file
* TRANSLATOR:
*/
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Norwegian resource file
* TRANSLATOR:
*/
LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
STRINGTABLE

View File

@@ -1,27 +1,20 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Polish resource file
* TRANSLATOR: Copyright 2023 Piotr Hetnarowicz <piotrhwz@gmail.com>
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE, "Usage: TASKLIST [/?] [/NH]\n"
IDS_DESCRIPTION, "\n\
Opis:\
To narzędzie wyświetla listę aktualnie uruchomionych procesów\n\
na komputerze.\n"
IDS_OPTION_TOO_MUCH, "Błąd: Nieprawidłowa składnia. Opcja '%1' nie jest dozwolona więcej niż '%2!d!' raz(y).\n"
IDS_INVALID_SYNTAX, "Błąd: Nieprawidłowa składnia.\n"
IDS_INVALID_OPTION, "Błąd: Określono nieznaną lub nieprawidłową opcję wiersza polecenia.\n"
IDS_ENUM_FAILED, "Błąd: Nie można wyliczyć listy procesów.\n"
IDS_OUT_OF_MEMORY, "Błąd: Brak pamięci.\n"
IDS_HEADER_IMAGENAME, "Nazwa obrazu"
Desciption:\
This tool displays a list of currently running processes on\n\
the machine.\n"
IDS_OPTION_TOO_MUCH, "Error: Invalid syntax. '%1' option is not allowed more than '%2!d!' time(s).\n"
IDS_INVALID_SYNTAX, "Error: Invalid syntax.\n"
IDS_INVALID_OPTION, "Error: Unknown or invalid command line option specified.\n"
IDS_ENUM_FAILED, "Error: Unable to enumerate the process list.\n"
IDS_OUT_OF_MEMORY, "Error: Out of memory.\n"
IDS_HEADER_IMAGENAME, "Image Name"
IDS_HEADER_PID, "PID"
IDS_HEADER_SESSION, "Nr Sesji#"
IDS_HEADER_MEMUSAGE, "Użycie pam."
IDS_HEADER_SESSION, "Session#"
IDS_HEADER_MEMUSAGE, "Mem Usage"
IDS_MEMORY_STR, "%s K"
END

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Portuguese (Brazilian) resource file
* TRANSLATOR:
*/
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
STRINGTABLE

View File

@@ -1,27 +1,20 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Romanian resource file
* TRANSLATOR: Copyright 2023 Andrei Miloiu <miloiuandrei@gmail.com>
*/
LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL
STRINGTABLE
BEGIN
IDS_USAGE, "Utilizare: TASKLIST [/?] [/NH]\n"
IDS_USAGE, "Usage: TASKLIST [/?] [/NH]\n"
IDS_DESCRIPTION, "\n\
Descriere:\
Acest instrument afișează o listă a proceselor curente din\n\
calculator.\n"
IDS_OPTION_TOO_MUCH, "Eroare: Sintaxă nevalidă. Opțiunea '%1' nu este permisă mai mult de '%2!d!' singură dată (ori).\n"
IDS_INVALID_SYNTAX, "Eroare: Sintaxă nevalidă.\n"
IDS_INVALID_OPTION, "Eroare: Opțiune de linie de comandă specificată necunoscută sau nevalidă.\n"
IDS_ENUM_FAILED, "Eroare: Nu poate fi enumerată lista de procese.\n"
IDS_OUT_OF_MEMORY, "Eroare: Fără memorie.\n"
IDS_HEADER_IMAGENAME, "Numele imaginii"
Desciption:\
This tool displays a list of currently running processes on\n\
the machine.\n"
IDS_OPTION_TOO_MUCH, "Error: Invalid syntax. '%1' option is not allowed more than '%2!d!' time(s).\n"
IDS_INVALID_SYNTAX, "Error: Invalid syntax.\n"
IDS_INVALID_OPTION, "Error: Unknown or invalid command line option specified.\n"
IDS_ENUM_FAILED, "Error: Unable to enumerate the process list.\n"
IDS_OUT_OF_MEMORY, "Error: Out of memory.\n"
IDS_HEADER_IMAGENAME, "Image Name"
IDS_HEADER_PID, "PID"
IDS_HEADER_SESSION, "Sesiune#"
IDS_HEADER_MEMUSAGE, "Uz mem."
IDS_HEADER_SESSION, "Session#"
IDS_HEADER_MEMUSAGE, "Mem Usage"
IDS_MEMORY_STR, "%s K"
END

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Slovak resource file
* TRANSLATOR:
*/
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Albanian resource file
* TRANSLATOR:
*/
LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Swedish resource file
* TRANSLATOR:
*/
LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Turkish resource file
* TRANSLATOR: Copyright 2021 Süleyman Poyraz <zaryob.dev@gmail.com>
*/
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,10 +1,3 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Ukrainian resource file
* TRANSLATOR:
*/
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
STRINGTABLE

View File

@@ -1,9 +1,4 @@
/*
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Chinese (Traditional) resource file
* TRANSLATOR: Copyright 2021 Chan Chilung <eason066@gmail.com>
*/
// Chinese Traditional (zh-TW) resources by Chan Chilung <eason066@gmail.com> 2021
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL

View File

@@ -2,7 +2,7 @@
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Displays a list of currently running processes on the computer.
* COPYRIGHT: Copyright 2021 He Yang <1160386205@qq.com>
* COPYRIGHT: Copyright 2021 He Yang (1160386205@qq.com)
*/
#include "tasklist.h"

View File

@@ -2,7 +2,7 @@
* PROJECT: ReactOS Tasklist Command
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Displays a list of currently running processes on the computer.
* COPYRIGHT: Copyright 2020 He Yang <1160386205@qq.com>
* COPYRIGHT: Copyright 2020 He Yang (1160386205@qq.com)
*/
#pragma once

View File

@@ -54,15 +54,15 @@
#ifdef LANGUAGE_RO_RO
#include "lang/ro-RO.rc"
#endif
#ifdef LANGUAGE_RU_RU
#include "lang/ru-RU.rc"
#endif
#ifdef LANGUAGE_SK_SK
#include "lang/sk-SK.rc"
#endif
#ifdef LANGUAGE_SV_SE
#include "lang/sv-SE.rc"
#endif
#ifdef LANGUAGE_RU_RU
#include "lang/ru-RU.rc"
#endif
#ifdef LANGUAGE_SQ_AL
#include "lang/sq-AL.rc"
#endif

View File

@@ -1,17 +1,11 @@
/*
* PROJECT: ReactOS Tree Walk Utility
* LICENSE: GPL-2.0 (https://spdx.org/licenses/GPL-2.0)
* PURPOSE: Romanian resource file
* TRANSLATORS: Copyright 2018 Ștefan Fulea <stefan.fulea@mail.com>
* Copyright 2024 Andrei Miloiu <miloiuandrei@gmail.com>
*/
/* Translator: Ștefan Fulea (stefan dot fulea at mail dot com) */
LANGUAGE LANG_ROMANIAN, SUBLANG_DEFAULT
STRINGTABLE
BEGIN
IDS_USAGE "Afișează o structură de fișiere a unui director sau unități de stocare.\n\n\
TREE [disc:][cale] [/F] [/A]\n\n\
TREE [unitate:][cale] [/F] [/A]\n\n\
\t/F Afișează numele fișierelor din fiecare director.\n\
\t/A Folosește ASCII în loc de caractere extinse.\n"
IDS_NO_SUBDIRECTORIES "Nu există subdirectoare"

View File

@@ -407,16 +407,8 @@ static HRESULT WINAPI Host_DisconnectObject(IHost *iface, IDispatch *Object)
static HRESULT WINAPI Host_Sleep(IHost *iface, LONG Time)
{
#ifdef __REACTOS__
UNREFERENCED_PARAMETER(iface);
if (Time < 0)
return E_INVALIDARG;
Sleep(Time);
return S_OK;
#else
WINE_FIXME("(%d)\n", Time);
return E_NOTIMPL;
#endif
}
static HRESULT WINAPI Host_ConnectObject(IHost *iface, IDispatch *Object, BSTR Prefix)

Some files were not shown because too many files have changed in this diff Show More