~ubuntu-branches/ubuntu/saucy/kde-l10n-sr/saucy-proposed

« back to all changes in this revision

Viewing changes to sr@ijekavianlatin/scripts/kdebase/kfontinst/kfontinst.js

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Riddell
  • Date: 2010-11-29 17:52:23 UTC
  • mfrom: (1.1.28 upstream)
  • Revision ID: james.westby@ubuntu.com-20101129175223-wkrd3wdt20svn2xq
Tags: 4:4.5.80-0ubuntu1
New upstream beta release

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// ------------------------------
2
 
// The headed name is a noun followed by attributes.
3
 
// There are two formats:
4
 
//   "head, attr1 attr2..." (basic)
5
 
//   "head (attr11 attr12 ..., attr21 attr22 ..., ...)" (compound)
6
 
function headed_name_to_case (gcase, composed)
7
 
{
8
 
    var p = composed.lastIndexOf("("); // in case of (...) in the head
9
 
    if (p < 0) {
10
 
        // The basic format.
11
 
        // Assume there may be no comma or attributes, so check thoroughly.
12
 
        p = composed.lastIndexOf(","); // in case of comma in the head
13
 
        if (p < 0) {
14
 
            return getprop(composed, gcase);
15
 
        }
16
 
        var head = composed.substr(0, p);
17
 
        var final = getprop(head, gcase);
18
 
        var attrs = composed.substr(p + 1).split(" ").filter(Boolean);
19
 
        if (attrs.length > 0) {
20
 
            var gender = getprop(head, "_rod");
21
 
            var number = ""
22
 
            if (hasprop(head, "_broj")) {
23
 
                number = getprop(head, "_broj");
24
 
            }
25
 
            for (var i = 0; i < attrs.length; i += 1) {
26
 
                attrs[i] = getprop(attrs[i], gcase + "-" + gender + number);
27
 
            }
28
 
            final += ", " + attrs.join(" ");
29
 
        }
30
 
        return final;
31
 
    }
32
 
    else {
33
 
        // The compound format.
34
 
        // Assume valid, skip checks.
35
 
        var head = composed.substr(0, p);
36
 
        var pp = composed.indexOf(")", p);
37
 
        var attrs = composed.substring(p + 1, pp).split(",")
38
 
        var gender = getprop(head, "_rod");
39
 
        var number = ""
40
 
        if (hasprop(head, "_broj")) {
41
 
            number = getprop(head, "_broj");
42
 
        }
43
 
        for (var i = 0; i < attrs.length; i += 1) {
44
 
            var subattrs = attrs[i].split(" ").filter(Boolean);
45
 
            for (var j = 0; j < subattrs.length; j += 1) {
46
 
                subattrs[j] = getprop(subattrs[j], gcase + "-" + gender + number);
47
 
            }
48
 
            attrs[i] = subattrs.join(" ");
49
 
        }
50
 
        return getprop(head, gcase) + " (" + attrs.join(", ") + ")";
51
 
    }
52
 
}
53
 
Ts.setcall("glavorepi", headed_name_to_case);