• last updated 19 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Fix typo

acs-lang reform:

when calling lang::util::convert_to_i18n, do not always register a en_US translation, which will be otherwise always overridden. Instead, let lang::message::register make sure that a en_US message exists and create it only when needed as a fallback. Before, lang::message::register would return an error when e.g. a new message keys was registered for de_DE and no en_US was there. Now the en_US will be just created on the fly.

This does not break current automated tests

acs-lang reform

Provide an optional object_id which can be used to register message keys that will be bound to the lifecycle of an acs-object. When the object is deleted, so will the message key.

This is useful for groups that automatically define a message key for their pretty name. Tcl api was already aware of this and would cleanup such message keys, but other idioms e.g. stored procedures used to delete groups would leave leftovers behind. These can become relatively numerous on group-intensive systems such as LEARN.

Other future usages for this new feature might be the automatic localization of xowiki FormPage properties.

  1. … 7 more files in changeset.
improve spelling

  1. … 4 more files in changeset.
Keep using ad_conn in lang::conn::timezone as set_get_timezone needs to simulate lack of connection and ad_conn allows to override the "real" value

Refactor 'locale_language_fallback' testcase, using 'aa_run_with_teardown' and preventing errors when the 'en_GB' locale is not enabled

prefer "ns_conn isconnected" over "ad_conn isconnected", since the latter might not notice changes in the connect state

  1. … 15 more files in changeset.
mprove spelling: move closer to the linux documentation recommendations

  1. … 19 more files in changeset.
improve error message

provide a more friendly error message for broken configurations

avoid repeated lookup for the same locale

- simplifying one more expression

- bump version number to 5.10.0d11

  1. … 1 more file in changeset.
reduced the number of mutex locks for message keys lookup by a factor of two by using naviserver commands

use dot instead of colon as separator between package name and cache key to ease readability

  1. … 8 more files in changeset.
acs::per_thread_cache: standardize per-thread caching

- added per-thread cache based on namespaced Tcl variables.

- use per-thread-cache on several occasions

- bump version number of acs-tcl to 5.10.0d34

  1. … 12 more files in changeset.
Fix typo

make lang::conn::language able to run running disconnected; improve documentation

make lang::conn::locale more robust when running disconnected

Whitespace cleanup

    • -10
    • +9
    ./localization-procs-postgresql.xql
Fix typo

Doc formatting changes

Keep supporting previously undocumented use cases for lc_time_fmt:

- database timestamps e.g. "2019-12-16 12:58:10.370124+01"

- short timestamps without seconds e.g. "2019-12-16 12:58"

Improved documentation and extended test cases

    • -1
    • +32
    ./test/acs-lang-localization-procs.tcl
Address lc_time_fmt shortcomings:

- use clock scan to enforce supported date formats, 'YYYY-MM-DD' (undocumented, but explicitly checked for in the code) and 'YYYY-MM-DD HH:MM:SS'

- leverage clock scan capabilities to correctly handle 'impossible dates' such as 1999-02-29

- leverage clock format to obtain the correct week day

- leverage clock api to correctly handle gregorian/julian dates

- implement documented formats that had an empty entry in format array (%W, u, %U, %j)

Rename 'random', 'randomInit' and 'randomRange' procs to something compliant to OpenACS naming convention, replace occurrences, create deprecated wrapper

  1. … 7 more files in changeset.
Rename clock_to_ansi to lc_clock_to_ansi to comply with naming convention, replace occurrences, create deprecated wrapper

  1. … 5 more files in changeset.
improve handling of invalid (hacked) ad_locale cookies.

Previously, invalid ad_locale cookies lead to an error, which in turn

prevented all communication with OpenACS. So, a user had to delete the

cookie manually. Now, we just produce a warning, ignore and delete such

broken cookies.

Use 'ns_log Error' for error logging, instead of 'ns_log Notice: Error...'

  1. … 4 more files in changeset.
Fix typo

Do not rely on error trapping for file retrieval, introduce a test for this proc

improve spelling

  1. … 9 more files in changeset.