OpenTTD Source
20241108-master-g80f628063a
|
Handling of translated strings. More...
#include "stdafx.h"
#include "currency.h"
#include "station_base.h"
#include "town.h"
#include "waypoint_base.h"
#include "depot_base.h"
#include "industry.h"
#include "newgrf_text.h"
#include "fileio_func.h"
#include "signs_base.h"
#include "fontdetection.h"
#include "error.h"
#include "error_func.h"
#include "strings_func.h"
#include "rev.h"
#include "core/endian_func.hpp"
#include "timer/timer_game_calendar.h"
#include "vehicle_base.h"
#include "engine_base.h"
#include "language.h"
#include "townname_func.h"
#include "string_func.h"
#include "company_base.h"
#include "smallmap_gui.h"
#include "window_func.h"
#include "debug.h"
#include "game/game_text.hpp"
#include "network/network_content_gui.h"
#include "newgrf_engine.h"
#include "core/backup_type.hpp"
#include "gfx_layout.h"
#include <stack>
#include <charconv>
#include "table/strings.h"
#include "table/control_codes.h"
#include "3rdparty/fmt/std.h"
#include "strings_internal.h"
#include "safeguards.h"
Go to the source code of this file.
Data Structures | |
struct | LanguagePack |
struct | LanguagePackDeleter |
struct | LoadedLanguagePack |
struct | UnitConversion |
Helper for unit conversion. More... | |
struct | Units |
Information about a specific unit system. More... | |
struct | UnitsLong |
Information about a specific unit system with a long variant. More... | |
class | LanguagePackGlyphSearcher |
Helper for searching through the language pack. More... | |
Functions | |
void | SetDParam (size_t n, uint64_t v) |
Set a string parameter v at index n in the global string parameter array. More... | |
uint64_t | GetDParam (size_t n) |
Get the current string parameter at index n from the global string parameter array. More... | |
void | SetDParamMaxValue (size_t n, uint64_t max_value, uint min_count, FontSize size) |
Set DParam n to some number that is suitable for string size computations. More... | |
void | SetDParamMaxDigits (size_t n, uint count, FontSize size) |
Set DParam n to some number that is suitable for string size computations. More... | |
void | CopyInDParam (const std::span< const StringParameterData > backup) |
Copy the parameters from the backup into the global string parameter array. More... | |
void | CopyOutDParam (std::vector< StringParameterData > &backup, size_t num) |
Copy num string parameters from the global string parameter array to the backup. More... | |
bool | HaveDParamChanged (const std::span< const StringParameterData > backup) |
Checks whether the global string parameters have changed compared to the given backup. More... | |
static void | StationGetSpecialString (StringBuilder &builder, StationFacility x) |
static void | GetSpecialTownNameString (StringBuilder &builder, int ind, uint32_t seed) |
static void | GetSpecialNameString (StringBuilder &builder, int ind, StringParameters &args) |
static void | FormatString (StringBuilder &builder, const char *str_arg, StringParameters &args, uint case_index, bool game_script, bool dry_run) |
Parse most format codes within a string and write the result to a buffer. More... | |
const char * | GetStringPtr (StringID string) |
void | GetStringWithArgs (StringBuilder &builder, StringID string, StringParameters &args, uint case_index, bool game_script) |
Get a parsed string with most special stringcodes replaced by the string parameters. More... | |
std::string | GetString (StringID string) |
Resolve the given StringID into a std::string with all the associated DParam lookups and formatting. More... | |
void | AppendStringInPlace (std::string &result, StringID string) |
Resolve the given StringID and append in place into an existing std::string with all the associated DParam lookups and formatting. More... | |
std::string | GetStringWithArgs (StringID string, StringParameters &args) |
Get a parsed string with most special stringcodes replaced by the string parameters. More... | |
void | SetDParamStr (size_t n, const char *str) |
This function is used to "bind" a C string to a OpenTTD dparam slot. More... | |
void | SetDParamStr (size_t n, const std::string &str) |
This function is used to "bind" the C string of a std::string to a OpenTTD dparam slot. More... | |
void | SetDParamStr (size_t n, std::string &&str) |
This function is used to "bind" the std::string to a OpenTTD dparam slot. More... | |
static const char * | GetDecimalSeparator () |
static void | FormatNumber (StringBuilder &builder, int64_t number, const char *separator) |
Format a number into a string. More... | |
static void | FormatCommaNumber (StringBuilder &builder, int64_t number) |
static void | FormatNoCommaNumber (StringBuilder &builder, int64_t number) |
static void | FormatZerofillNumber (StringBuilder &builder, int64_t number, int count) |
static void | FormatHexNumber (StringBuilder &builder, uint64_t number) |
static void | FormatBytes (StringBuilder &builder, int64_t number) |
Format a given number as a number of bytes with the SI prefix. More... | |
static void | FormatYmdString (StringBuilder &builder, TimerGameCalendar::Date date, uint case_index) |
static void | FormatMonthAndYear (StringBuilder &builder, TimerGameCalendar::Date date, uint case_index) |
static void | FormatTinyOrISODate (StringBuilder &builder, TimerGameCalendar::Date date, StringID str) |
static void | FormatGenericCurrency (StringBuilder &builder, const CurrencySpec *spec, Money number, bool compact) |
static int | DeterminePluralForm (int64_t count, int plural_form) |
Determine the "plural" index given a plural form and a number. More... | |
static const char * | ParseStringChoice (const char *b, uint form, StringBuilder &builder) |
static const Units | GetVelocityUnits (VehicleType type) |
Get the correct velocity units depending on the vehicle type and whether we're using real-time units. More... | |
uint | ConvertSpeedToDisplaySpeed (uint speed, VehicleType type) |
Convert the given (internal) speed to the display speed. More... | |
uint | ConvertDisplaySpeedToSpeed (uint speed, VehicleType type) |
Convert the given display speed to the (internal) speed. More... | |
uint | ConvertKmhishSpeedToDisplaySpeed (uint speed, VehicleType type) |
Convert the given km/h-ish speed to the display speed. More... | |
uint | ConvertDisplaySpeedToKmhishSpeed (uint speed, VehicleType type) |
Convert the given display speed to the km/h-ish speed. More... | |
static std::span< const char *const > | GetSurnameOptions () |
static const char * | GetSurname (uint32_t seed) |
Get the surname of the president with the given seed. More... | |
static void | GenAndCoName (StringBuilder &builder, uint32_t seed) |
static void | GenPresidentName (StringBuilder &builder, uint32_t seed) |
bool | ReadLanguagePack (const LanguageMetadata *lang) |
Read a particular language. More... | |
const char * | GetCurrentLocale (const char *param) |
Determine the current charset based on the environment First check some default values, after this one we passed ourselves and if none exist return the value for $LANG. More... | |
const LanguageMetadata * | GetLanguage (uint8_t newgrflangid) |
Get the language with the given NewGRF language ID. More... | |
static bool | GetLanguageFileHeader (const std::string &file, LanguagePackHeader *hdr) |
Reads the language file header and checks compatibility. More... | |
static void | FillLanguageList (const std::string &path) |
Search for the languages in the given directory and add them to the _languages list. More... | |
void | InitializeLanguagePacks () |
Make a list of the available language packs. More... | |
const char * | GetCurrentLanguageIsoCode () |
Get the ISO language code of the currently loaded language. More... | |
void | CheckForMissingGlyphs (bool base_font, MissingGlyphSearcher *searcher) |
Check whether the currently loaded language pack uses characters that the currently loaded font does not support. More... | |
Variables | |
std::string | _config_language_file |
The file (name) stored in the configuration. | |
LanguageList | _languages |
The actual list of language meta data. | |
const LanguageMetadata * | _current_language = nullptr |
The currently loaded language. | |
TextDirection | _current_text_dir |
Text direction of the currently selected language. | |
std::unique_ptr< icu::Collator > | _current_collator |
Collator for the language currently in use. | |
ArrayStringParameters< 20 > | _global_string_params |
static LoadedLanguagePack | _langpack |
static bool | _scan_for_gender_data = false |
Are we scanning for the gender of the current string? (instead of formatting it) | |
static const Units | _units_velocity_calendar [] |
Unit conversions for velocity. More... | |
static const Units | _units_velocity_realtime [] |
Unit conversions for velocity. More... | |
static const Units | _units_power [] |
Unit conversions for power. More... | |
static const Units | _units_power_to_weight [] |
Unit conversions for power to weight. More... | |
static const UnitsLong | _units_weight [] |
Unit conversions for weight. More... | |
static const UnitsLong | _units_volume [] |
Unit conversions for volume. More... | |
static const Units | _units_force [] |
Unit conversions for force. More... | |
static const Units | _units_height [] |
Unit conversions for height. More... | |
static const Units | _units_time_days_or_seconds [] |
Unit conversions for time in calendar days or wallclock seconds. More... | |
static const Units | _units_time_months_or_minutes [] |
Unit conversions for time in calendar months or wallclock minutes. More... | |
static const Units | _units_time_years_or_periods [] |
Unit conversions for time in calendar years or economic periods. More... | |
static const Units | _units_time_years_or_minutes [] |
Unit conversions for time in calendar years or wallclock minutes. More... | |
static const char *const | _silly_company_names [] |
static const char *const | _surname_list [] |
static const char *const | _silly_surname_list [] |
static const char | _initial_name_letters [] |
Handling of translated strings.
Definition in file strings.cpp.
void AppendStringInPlace | ( | std::string & | result, |
StringID | string | ||
) |
Resolve the given StringID and append in place into an existing std::string with all the associated DParam lookups and formatting.
result | The std::string to place the translated string. |
string | The unique identifier of the translatable string. |
Definition at line 331 of file strings.cpp.
Referenced by BuildIndustryWindow::MakeCargoListString().
void CheckForMissingGlyphs | ( | bool | base_font, |
MissingGlyphSearcher * | searcher | ||
) |
Check whether the currently loaded language pack uses characters that the currently loaded font does not support.
If this is the case an error message will be shown in English. The error message will not be localized because that would mean it might use characters that are not in the font, which is the whole reason this check has been added.
base_font | Whether to look at the base font as well. |
searcher | The methods to use to search for strings to check. If nullptr the loaded language pack searcher is used. |
Definition at line 2265 of file strings.cpp.
References MissingGlyphSearcher::FindMissingGlyphs().
Referenced by TextfileWindow::LoadText().
uint ConvertDisplaySpeedToKmhishSpeed | ( | uint | speed, |
VehicleType | type | ||
) |
Convert the given display speed to the km/h-ish speed.
speed | the speed to convert |
Definition at line 902 of file strings.cpp.
References Units::c, UnitConversion::FromDisplay(), and GetVelocityUnits().
uint ConvertDisplaySpeedToSpeed | ( | uint | speed, |
VehicleType | type | ||
) |
Convert the given display speed to the (internal) speed.
speed | the speed to convert |
Definition at line 882 of file strings.cpp.
References Units::c, UnitConversion::FromDisplay(), and GetVelocityUnits().
uint ConvertKmhishSpeedToDisplaySpeed | ( | uint | speed, |
VehicleType | type | ||
) |
Convert the given km/h-ish speed to the display speed.
speed | the speed to convert |
Definition at line 892 of file strings.cpp.
References Units::c, GetVelocityUnits(), and UnitConversion::ToDisplay().
uint ConvertSpeedToDisplaySpeed | ( | uint | speed, |
VehicleType | type | ||
) |
Convert the given (internal) speed to the display speed.
speed | the speed to convert |
Definition at line 869 of file strings.cpp.
References Units::c, GetVelocityUnits(), and UnitConversion::ToDisplay().
void CopyInDParam | ( | const std::span< const StringParameterData > | backup | ) |
Copy the parameters from the backup into the global string parameter array.
backup | The backup to copy from. |
Definition at line 159 of file strings.cpp.
void CopyOutDParam | ( | std::vector< StringParameterData > & | backup, |
size_t | num | ||
) |
Copy num string parameters from the global string parameter array to the backup.
backup | The backup to write to. |
num | Number of string parameters to copy. |
Definition at line 171 of file strings.cpp.
Referenced by NewsItem::NewsItem().
|
static |
Determine the "plural" index given a plural form and a number.
count | The number to get the plural index of. |
plural_form | The plural form we want an index for. |
Definition at line 573 of file strings.cpp.
References abs().
|
static |
Search for the languages in the given directory and add them to the _languages list.
path | the base directory to search in |
Definition at line 2082 of file strings.cpp.
References _languages, Debug, LanguageMetadata::file, FS2OTTD(), GetLanguage(), GetLanguageFileHeader(), LanguagePackHeader::newgrflangid, and OTTD2FS().
|
static |
Format a given number as a number of bytes with the SI prefix.
builder | the string builder to write to |
number | the number of bytes to write down |
Definition at line 453 of file strings.cpp.
|
static |
Format a number into a string.
builder | the string builder to write to |
number | the number to write down |
separator | the thousands-separator to use |
Definition at line 398 of file strings.cpp.
|
static |
Parse most format codes within a string and write the result to a buffer.
builder | The string builder to write the final string to. |
str_arg | The original string with format codes. |
args | Pointer to extra arguments used by various string codes. |
dry_run | True when the args' type data is not yet initialized. |
Definition at line 914 of file strings.cpp.
References CreateTextRefStackBackup(), StringParameters::GetOffset(), RestoreTextRefStackBackup(), StringParameters::SetOffset(), and UsingNewGRFTextStack().
const char* GetCurrentLanguageIsoCode | ( | ) |
Get the ISO language code of the currently loaded language.
Definition at line 2157 of file strings.cpp.
const char* GetCurrentLocale | ( | const char * | param | ) |
Determine the current charset based on the environment First check some default values, after this one we passed ourselves and if none exist return the value for $LANG.
param | environment variable to check conditionally if default ones are not set. Pass nullptr if you don't want additional checks. |
Definition at line 2020 of file strings.cpp.
uint64_t GetDParam | ( | size_t | n | ) |
Get the current string parameter at index n from the global string parameter array.
n | Index of the string parameter. |
Definition at line 114 of file strings.cpp.
const LanguageMetadata* GetLanguage | ( | uint8_t | newgrflangid | ) |
Get the language with the given NewGRF language ID.
newgrflangid | NewGRF languages ID to check. |
Definition at line 2046 of file strings.cpp.
References _languages.
Referenced by FillLanguageList().
|
static |
Reads the language file header and checks compatibility.
file | the file to read |
hdr | the place to write the header information to |
Definition at line 2061 of file strings.cpp.
References LanguagePackHeader::IsValid(), LanguagePackHeader::missing, and FileHandle::Open().
Referenced by FillLanguageList().
std::string GetString | ( | StringID | string | ) |
Resolve the given StringID into a std::string with all the associated DParam lookups and formatting.
string | The unique identifier of the translatable string. |
Definition at line 319 of file strings.cpp.
Referenced by StringFilter::AddLine(), Textbuf::Assign(), Subsidy::AwardTo(), CargoSpecNameSorter(), ClassTagNameFilter(), CmdGiveMoney(), CompanyNewsInformation::CompanyNewsInformation(), DrawString(), DrawStringMultiLine(), BuildVehicleWindow::FilterByText(), GetKeyboardLayout(), BaseSet< T, Tnum_files, Tsearch_in_tars >::GetListLabel(), GetStringBoundingBox(), GetStringHeight(), GetStringLineCount(), IndustryTypeNameSorter(), BuildIndustryWindow::MakeCargoListString(), SignListWindow::OnInit(), SelectGameWindow::OnResize(), ServerNetworkGameSocketHandler::Receive_CLIENT_ERROR(), StoryBookWindow::RefreshSelectedPage(), SaveHighScoreValueNetwork(), Script_CreateDummy(), ServerNetworkAdminSocketHandler::SendCompanyInfo(), ServerNetworkAdminSocketHandler::SendCompanyUpdate(), ServerNetworkAdminSocketHandler::SendError(), ServerNetworkGameSocketHandler::SendError(), ShowNewGrfVehicleError(), TownActionRoadRebuild(), TypeTagNameFilter(), ScanProgressWindow::UpdateNewGRFScanStatus(), and ViewportSign::UpdatePosition().
void GetStringWithArgs | ( | StringBuilder & | builder, |
StringID | string, | ||
StringParameters & | args, | ||
uint | case_index, | ||
bool | game_script | ||
) |
Get a parsed string with most special stringcodes replaced by the string parameters.
builder | The builder of the string. |
string | The ID of the string to parse. |
args | Arguments for the string. |
case_index | The "case index". This will only be set when FormatString wants to print the string in a different case. |
game_script | The string is coming directly from a game script. |
Definition at line 243 of file strings.cpp.
References GetStringIndex(), and GetStringTab().
Referenced by GetTownName().
std::string GetStringWithArgs | ( | StringID | string, |
StringParameters & | args | ||
) |
Get a parsed string with most special stringcodes replaced by the string parameters.
string | The ID of the string to parse. |
args | Arguments for the string. |
Definition at line 344 of file strings.cpp.
|
static |
Get the surname of the president with the given seed.
seed | The seed the surname was generated from. |
Definition at line 1824 of file strings.cpp.
|
static |
Get the correct velocity units depending on the vehicle type and whether we're using real-time units.
type | VehicleType to convert velocity for. |
Definition at line 852 of file strings.cpp.
References _settings_game, _units_velocity_calendar, _units_velocity_realtime, lengthof, GameSettings::locale, LocaleSettings::units_velocity, LocaleSettings::units_velocity_nautical, TimerGameEconomy::UsingWallclockUnits(), VEH_AIRCRAFT, and VEH_SHIP.
Referenced by ConvertDisplaySpeedToKmhishSpeed(), ConvertDisplaySpeedToSpeed(), ConvertKmhishSpeedToDisplaySpeed(), and ConvertSpeedToDisplaySpeed().
bool HaveDParamChanged | ( | const std::span< const StringParameterData > | backup | ) |
Checks whether the global string parameters have changed compared to the given backup.
backup | The backup to check against. |
Definition at line 184 of file strings.cpp.
void InitializeLanguagePacks | ( | ) |
Make a list of the available language packs.
Put the data in _languages list.
< Matching the language in the configuration file or the current locale
< Using pt_PT for pt_BR locale when pt_BR is not available
< Fallback when no locale-matching language has been found
Definition at line 2110 of file strings.cpp.
bool ReadLanguagePack | ( | const LanguageMetadata * | lang | ) |
Read a particular language.
lang | The metadata about the language. |
Definition at line 1912 of file strings.cpp.
References LanguageMetadata::file, FS2OTTD(), ReadFileToMem(), and TEXT_TAB_END.
void SetDParam | ( | size_t | n, |
uint64_t | v | ||
) |
Set a string parameter v at index n in the global string parameter array.
n | Index of the string parameter. |
v | Value of the string parameter. |
Definition at line 104 of file strings.cpp.
Referenced by AdvertiseIndustryOpening(), AgeVehicle(), AircraftHandleDestTooFar(), Subsidy::AwardTo(), BuildReplacementVehicle(), CheckCompanyHasMoney(), ClientNetworkGameSocketHandler::CheckConnection(), CheckEngines(), CheckforTownRating(), CheckIndustries(), CheckTownRoadTypes(), CheckTrainCollision(), CheckTrainsLengths(), CmdCompanyCtrl(), CmdGiveMoney(), CmdIncreaseLoan(), CompanyCheckBankrupt(), CompanyNewsInformation::CompanyNewsInformation(), CrashAirplane(), StationViewWindow::DrawAcceptedCargo(), TimetableWindow::DrawArrivalDeparturePanel(), StationViewWindow::DrawCargoRatings(), DrawPrice(), TownAuthorityWindow::DrawRatings(), BuildVehicleWindow::FilterByText(), FloodVehicle(), GenerateDefaultSaveName(), BuildBridgeWindow::GetBridgeSelectString(), RefitWindow::GetCapacityString(), IndustryDirectoryWindow::GetIndustryString(), BaseSet< T, Tnum_files, Tsearch_in_tars >::GetListLabel(), BaseGraphWindow::GetYLabelWidth(), GRFLoadConfig(), Vehicle::HandlePathfindingResult(), CommandHelperBase::InternalExecuteProcessResult(), BuildIndustryWindow::MakeCargoListString(), MakeScreenshotWithConfirm(), NetworkHandlePauseChange(), NewVehicleAvailable(), SelectCompanyManagerFaceWindow::OnInit(), GameSettingsWindow::OnPaint(), CompanyWindow::OnResize(), SelectGameWindow::OnResize(), StoryBookWindow::RefreshSelectedPage(), RoadVehArrivesAt(), SaveHighScoreValueNetwork(), ServerNetworkAdminSocketHandler::SendCompanyInfo(), ServerNetworkAdminSocketHandler::SendCompanyUpdate(), SetDParamMaxDigits(), SetDParamsForOwnedBy(), SelectCompanyManagerFaceWindow::SetFaceStringParameters(), NIHelper::SetObjectAtStringParameters(), NIHelper::SetSimpleStringParameters(), SettingsValueAbsolute(), SetupSubsidyDecodeParam(), IntSettingDesc::SetValueDParams(), ShipArrivesAt(), ShowNewGrfVehicleError(), ShowRejectOrAcceptNews(), ToolbarScenDatePanel(), TownActionRoadRebuild(), TrainEnterStation(), UpdateFillingPercent(), SettingEntry::UpdateFilterState(), Sign::UpdateVirtCoord(), Town::UpdateVirtCoord(), and Waypoint::UpdateVirtCoord().
void SetDParamMaxDigits | ( | size_t | n, |
uint | count, | ||
FontSize | size | ||
) |
Set DParam n to some number that is suitable for string size computations.
n | Index of the string parameter. |
count | Number of digits which shall be displayable. |
size | Font of the number |
Definition at line 143 of file strings.cpp.
References GetBroadestDigit(), and SetDParam().
Referenced by GetUnitNumberWidth(), and SetDParamMaxValue().
void SetDParamMaxValue | ( | size_t | n, |
uint64_t | max_value, | ||
uint | min_count, | ||
FontSize | size | ||
) |
Set DParam n to some number that is suitable for string size computations.
n | Index of the string parameter. |
max_value | The biggest value which shall be displayed. For the result only the number of digits of max_value matter. |
min_count | Minimum number of digits independent of max. |
size | Font of the number |
Definition at line 127 of file strings.cpp.
References SetDParamMaxDigits().
Referenced by TimetableWindow::DrawTimetablePanel().
void SetDParamStr | ( | size_t | n, |
const char * | str | ||
) |
This function is used to "bind" a C string to a OpenTTD dparam slot.
n | slot of the string |
str | string to bind |
Definition at line 357 of file strings.cpp.
Referenced by Subsidy::AwardTo(), CmdCompanyCtrl(), CmdCustomNewsItem(), CompanyCheckBankrupt(), GoalListWindow::DrawListColumn(), StoryBookWindow::GetHeadHeight(), BaseSet< T, Tnum_files, Tsearch_in_tars >::GetListLabel(), StoryBookWindow::GetPageElementHeight(), GetSavegameFormat(), GetSaveLoadErrorMessage(), GraphicsSetLoadConfig(), GRFLoadConfig(), LoadTownData(), BuildIndustryWindow::MakeCargoListString(), IConsoleWindow::OnPaint(), GoalListWindow::OnPaint(), ShowNewGrfVehicleError(), TownActionRoadRebuild(), and WarnCorruptSprite().
void SetDParamStr | ( | size_t | n, |
const std::string & | str | ||
) |
This function is used to "bind" the C string of a std::string to a OpenTTD dparam slot.
The caller has to ensure that the std::string reference remains valid while the string is shown.
n | slot of the string |
str | string to bind |
Definition at line 368 of file strings.cpp.
void SetDParamStr | ( | size_t | n, |
std::string && | str | ||
) |
This function is used to "bind" the std::string to a OpenTTD dparam slot.
Contrary to the other SetDParamStr
functions, this moves the string into the parameter slot.
n | slot of the string |
str | string to bind |
Definition at line 380 of file strings.cpp.
|
static |
Definition at line 1808 of file strings.cpp.
|
static |
Definition at line 1745 of file strings.cpp.
|
static |
Definition at line 1793 of file strings.cpp.
|
static |
Unit conversions for force.
Definition at line 810 of file strings.cpp.
|
static |
Unit conversions for height.
Definition at line 817 of file strings.cpp.
|
static |
Unit conversions for power.
Definition at line 776 of file strings.cpp.
|
static |
Unit conversions for power to weight.
Definition at line 783 of file strings.cpp.
|
static |
Unit conversions for time in calendar days or wallclock seconds.
Definition at line 824 of file strings.cpp.
|
static |
Unit conversions for time in calendar months or wallclock minutes.
Definition at line 830 of file strings.cpp.
|
static |
Unit conversions for time in calendar years or wallclock minutes.
Definition at line 842 of file strings.cpp.
|
static |
Unit conversions for time in calendar years or economic periods.
Definition at line 836 of file strings.cpp.
|
static |
Unit conversions for velocity.
Definition at line 758 of file strings.cpp.
Referenced by GetVelocityUnits().
|
static |
Unit conversions for velocity.
Definition at line 767 of file strings.cpp.
Referenced by GetVelocityUnits().
|
static |
Unit conversions for volume.
Definition at line 803 of file strings.cpp.
|
static |
Unit conversions for weight.
Definition at line 796 of file strings.cpp.