moodle/filter/multilang
Eloy Lafuente (stronk7) 9d6aa39985 MDL-71583 versions: Add all the missing full-stops to version/requires
It seems that the new phpcs3 checker is now controlling those
line comments that previously were ignored.

This commit just looks for all the cases and bulk-add
them when needed. The bash script (mac) used to add all them is:

while read -r line; do
    arr=(${line//:/ })
    if [[ -n ${arr[0]} ]] && [[ -n ${arr[1]} ]]; then
        echo "  file ${arr[0]}, line ${arr[1]}"
        sed -i "${arr[1]}s/\$/\./" ${arr[0]}
    fi
done < <(find . -name version.php | xargs ag --nomultiline '>(version|requires) *=.*//.*[^;\.]$')
2021-05-11 20:11:07 +02:00
..
classes/privacy MDL-61896 filter: Implement privacy API for all filters 2018-04-08 15:55:37 +08:00
lang/en MDL-61896 filter: Implement privacy API for all filters 2018-04-08 15:55:37 +08:00
tests MDL-67673 phpunit: Fix the return type of template methods 2020-10-21 12:45:59 +02:00
filter.php MDL-55197 filter_multilang: handle 'en' as parent lang better 2019-05-22 11:14:17 +01:00
README.txt
settings.php
version.php MDL-71583 versions: Add all the missing full-stops to version/requires 2021-05-11 20:11:07 +02:00

To Install it:
    - Enable if from "Administration/Filters".

To Use it:
    - Create your contents in multiple languages.
    - Enclose every language content between:
        <span lang="XX" class="multilang">your_content_here</span><span lang="YY" class="multilang">your_content_other_lang</span>
    - Test it (by changing your language).

How it works:
    - look for "lang blocks" in the code.
    - for each "lang block":
        - if there are texts in the currently active language, print them.
        - else, if there exists texts in the current parent language, print them.
        - else, print the first language found in the text.
    - text out of "lang blocks" will be showed always.

Definition of "lang block":
    Is a collection of lang tags separated only by whitespace chars (space,
    tab, linefeed or return chars).

One example in action:
    - This text:
        <span lang="en" class="multilang">Hello!</span><span lang="es" class="multilang">Hola!</span>
        This text is common for every language because it's out from any lang block.
        <span lang="en" class="multilang">Bye!</span><span lang="it" class="multilang">Ciao!</span>

    - Will print, if current language is English:
        Hello!
        This text is common for every language because it's out from any lang block.
        Bye!

    - And, in Spanish, it will print:
        Hola!
        This text is common for every language because it's out from any lang block.
        Bye!


Ciao, Eloy :-)
stronk7@moodle.org
2005-11-16

Syntax was changed in 1.8, the conversion of existing text is done from admin/multilangupgrade.php
Ciao, skodak :-)
2006-12-11