|
|
2#

楼主 |
发表于 2006-10-24 06:25
|
只看该作者
Besides of traditional resource library based localization, many multilanguage products also use so called language lookups approach, allowing multilanguage software to retrieve localized string from language lookup file by specified string or numeric identifier. This approach requires software developer to support each localizable string in the code, which greatly increases the risk of missing some string during localization, makes language lookup depending on identifiers used by software developer. This makes language lookups hard for editing and understanding without assistance of original software developer. Opposing to this approach, RivaTuner introduces unique and completely original runtime translation concepts, which lacks all these drawbacks. RivaTuner offers new concepts, based on idea of automated contents based translation of any string displayed in any of RivaTuner's windows. Translation is performed via so called translation databases, which can be included in localization pack and which are telling RivaTuner how to translate each required phrase to a target language. Translation databases provide localization pack creators the following features:
File system based database structure allows storing it in multiple independent files. This allows storing database for different GUI components in different files for more comfortable editing (e.g. separate databases for dialogs and menus) as well as provides an ability of extending the database (e.g. allows installing plugin with localized user interface).
Host control type and host control ID based translation possibility. Mostly translated string doesn't have to be linked to host control type and ID, however you may wish to translate the same string differently depending on its location (e.g. use short translation for buttons but long translation for tooltip etc). In this case the database may contain both universal translation for all host types and host specific translations if needed.
Ability of resizing host controls associated with translated string. Database entries may contain new sizes of controls (e.g. buttons) in dialog units if translated text doesn't fit in it. You may change width and (or) height of host control using left, top, right or bottom coordinate freezing if needed.
Built-in localization debugging features. Localization pack developers may enable localization logging system via EnableLocalizationLog registry entry during developing localization packs and track all RivaTuner's localization requests and all responses from localization database.
Full Russian localization pack is included in distributive to demonstrate localization features to third party localization pack creators.
Added new RivaTuner update (*.RTU) file format support. *.RTU file format allows third party developers (e.g. third party plugin or localization pack authors) to create solid distributive files, which can be distributed on the net and easily and automatically installed by RivaTuner. Update files provide the following features:
Multilanguage update descriptions. Update providers may specify text descriptions (*.RTH tagged text format) in multiple languages, which is displayed by RivaTuner during opening *.RTU file and informs a user about update contents.
Optional host version dependence. Update providers may create update files dedicated only for specific RivaTuner version (e.g. localization pack for one version of RivaTuner must not be installed on another one), as well as version independent update files (e.g. RivaTuner version independent CPU temperature monitoring plugin). When host version dependence is specified, RivaTuner will warn you about mismatching version when installing this update on wrong version of RivaTuner.
Optional host restart requirements. If the update (e.g. localization pack) requires RivaTuner to be restarted to apply the changes, update installer will automatically offer you to restart RivaTuner after installing the update.
Provider contact info (full name, email and ICQ). If the provider specifies his contact info in the update, it is automatically displayed during update installation. This allows users to contact update providers quickly and easily.
Built-in command line based update file builder. RivaTuner's SDK contains examples of building host version dependent localization pack distributive and host version independent plugin distributive.
Updated RivaTunerStatisticsServer v2.1.0 bundled utility:
Added optional ability of hooking OS kernel's LoadLibrary function. This feature can be useful as a workaround for problems with missing framerate monitoring and OSD in some applications on certain systems. Normally this feature is not required for proper framerate monitoring and OSD rendering, however some vendors started bad practice of blocking third party hooks in some 3D applications, so try to enable it if the server's framerate monitoring and OSD rendering features don't work properly.
Improved Direct3D runtime info prechaching technique. Now the server precaches offsets to hooked Direct3D runtime functions during the first startup and no longer performs Direct3D runtime reinitialization until DirectX reinstallation. New technique made the server's /F command line switch obsolete, now the server automatically uses fast load scenario after the first start and Direct3D runtime info precaching.
Added watchdog system for tracking 3D applications crashing events. Watchdog system allows the server to kick abnormally closed applications from the context of active 3D applications.
Added command line based OSD visibility enabling / disabling / toggling functions. Now the OSD can be enabled and disabled not only by hotkeys associated with explicit server loading and unloading, but without actually unloading the server. This function was added due to the server's 3D application runtime events tracking system, introduced in the previous version. Now you can disable OSD with hotkeys without unloading the server and loosing its' 3D application runtime events tracking system. Please take a note that you can use newly introduced predefined applications list in regular launch item editor window for quick-creating launch items for OSD visibility toggling.
Added command line based screenshot capturing ability. Besides traditional hotkey based screenshot capturing, combining with RivaTuner's flexible monitoring thresholds programming technique, this function allows you to create a screenshot of desktop or 3D application when some system parameter gets critical (e.g. when CPU or GPU temperature reaches shutdown threshold). Please take a note that you can use newly introduced predefined applications list in regular launch item editor window for quick-creating launch item for screenshot capturing.
Vista compatible DirectX9 framerate monitoring and OSD rendering.
Improved low-level graphics subsystem diagnostic report module:
Extended voltage tables dumping for ATI RADEON X1000 family with ATOM VGA BIOS images. Now besides previously displayed sets of supported VIDs for GPU Vddc, RAM Vddc, RAM Vddq and GPU Vddqi voltages RivaTuner also displays voltage table specific VID to target voltage mappings.
Updated plugin API:
Added functions for MSR reading / writing.
Added localization functions. If your plugin displays own dialog windows, you may add just a single function call to it to allow RivaTuner's localization engine to translate dialog window contents automatically using runtime translation database. Also, you may use RivaTuner's localization functions if you dynamically change contents of your dialog windows. If your plugin doesn't use any dialog windows and only returns text info to RivaTuner, you don't need to perform any additional actions - RivaTuner will automatically localize all the strings returned by a plugin before displaying them. Please refer to CPU.dll plugin source, demonstrating newly introduced localization functions usage.
Added OSD groups support. Now the plugin may specify the source's OSD group for newly introduced OSD grouping feature.
Added GPU registers aperture checking for GPU general purpose registers reading / writing functions. RivaTuner no longer allows the plugins to read / write registers located outside mapped MMIO aperture.
Updated monitoring plugins:
All the previously existing plugins have been updated to support OSD grouping feature.
Updated CPU.dll plugin. Now the plugin also demonstrates newly introduced localization functions usage.
Updated LM63.dll plugin. With X1950 series ATI no longer uses PWM output inversion on all display adapters, so previously implemented PWM output polarity detection code is no longer valid. Now the plugin uses model specific database of PWM output polarity.
Updated NVThermalDiode.dll plugin. Removed obsolete 8-bit diode specific thermal compensation for G71 and G73 thermal diodes.
Added power users oriented GPUProbe.dll plugin. The plugin gives you the possibility of monitoring state of any GPU registers in realtime. All the sources provided by this plugin are fully programmable and defined with assembler styled language. To demonstrate data sources programmability, the plugin shows you how to implement realtime monitoring of NVIDIA GPU GPIO pins. Please refer to GPUProbe.cfg to examine, redefine or add new data sources.
Updated SDK:
Added GPUProbe.dll plugin source code.
Added examples of building *.RTU files containing localization pack and plugin distributives.
Added localization guidelines to SDK documentation.
Added new Easter eggs, updated the previously existing ones.
Documentation and FAQ have been converted to compressed HTML format for more convenient navigation and information searching.
FAQ updated.
Minor UI changes and improvements. |
|