Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ RUN apt-get update && \
tesseract-ocr-por \
tesseract-ocr-rus \
tesseract-ocr-spa \
tesseract-ocr-srp \
tesseract-ocr-srp-latn \
tesseract-ocr-swe \
tesseract-ocr-tha \
tesseract-ocr-tur \
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ To build external URL, the server is expecting a `DOCS_BASE_URL` environment var

- Language
- `DOCS_DEFAULT_LANGUAGE`: The language which will be used as default. Currently supported values are:
- `eng`, `fra`, `ita`, `deu`, `spa`, `por`, `pol`, `rus`, `ukr`, `ara`, `hin`, `chi_sim`, `chi_tra`, `jpn`, `tha`, `kor`, `nld`, `tur`, `heb`, `hun`, `fin`, `swe`, `lav`, `dan`
- `eng`, `fra`, `ita`, `deu`, `spa`, `por`, `pol`, `rus`, `ukr`, `ara`, `hin`, `chi_sim`, `chi_tra`, `jpn`, `tha`, `kor`, `nld`, `tur`, `heb`, `hun`, `fin`, `swe`, `lav`, `dan`, `srp`

- E-Mail
- `DOCS_SMTP_HOSTNAME`: Hostname of the SMTP-Server to be used by Teedy.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public class Constants {
/**
* Supported document languages.
*/
public static final List<String> SUPPORTED_LANGUAGES = Lists.newArrayList("eng", "fra", "ita", "deu", "spa", "por", "pol", "rus", "ukr", "ara", "hin", "chi_sim", "chi_tra", "jpn", "tha", "kor", "nld", "tur", "heb", "hun", "fin", "swe", "lav", "dan", "nor", "vie", "ces", "sqi");
public static final List<String> SUPPORTED_LANGUAGES = Lists.newArrayList("eng", "fra", "ita", "deu", "spa", "por", "pol", "rus", "ukr", "ara", "hin", "chi_sim", "chi_tra", "jpn", "tha", "kor", "nld", "tur", "heb", "hun", "fin", "swe", "lav", "dan", "nor", "vie", "ces", "sqi", "srp");

/**
* Base URL environment variable.
Expand Down
5 changes: 3 additions & 2 deletions docs-web/src/main/webapp/src/app/docs/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -429,7 +429,7 @@ angular.module('docs',
prefix: 'locale/',
suffix: '.json?@build.date@'
})
.registerAvailableLanguageKeys(['en', 'es', 'pt', 'fr', 'de', 'el', 'ru', 'it', 'pl', 'zh_CN', 'zh_TW', 'sq_AL'], {
.registerAvailableLanguageKeys(['en', 'es', 'pt', 'fr', 'de', 'el', 'ru', 'it', 'pl', 'zh_CN', 'zh_TW', 'sq_AL', 'sr'], {
'en_*': 'en',
'es_*': 'es',
'pt_*': 'pt',
Expand Down Expand Up @@ -548,7 +548,8 @@ angular.module('docs',
{ key: 'nor', label: 'Norsk' },
{ key: 'vie', label: 'Tiếng Việt' },
{ key: 'ces', label: 'Czech' },
{ key: 'sqi', label: 'Shqip' }
{ key: 'sqi', label: 'Shqip' },
{ key: 'srp', label: 'Српски' }
];
})
/**
Expand Down
5 changes: 3 additions & 2 deletions docs-web/src/main/webapp/src/app/share/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ angular.module('share',
prefix: 'locale/',
suffix: '.json?@build.date@'
})
.registerAvailableLanguageKeys(['en', 'es', 'pt', 'fr', 'de', 'el', 'ru', 'it', 'pl', 'zh_CN', 'zh_TW', 'sq_AL'], {
.registerAvailableLanguageKeys(['en', 'es', 'pt', 'fr', 'de', 'el', 'ru', 'it', 'pl', 'zh_CN', 'zh_TW', 'sq_AL', 'sr'], {
'en_*': 'en',
'es_*': 'es',
'pt_*': 'pt',
Expand All @@ -71,6 +71,7 @@ angular.module('share',
'ru_*': 'ru',
'it_*': 'it',
'pl_*': 'pl',
'sr_*': 'sr',
'*': 'en'
})
.fallbackLanguage('en');
Expand Down Expand Up @@ -141,4 +142,4 @@ angular.module('share',
Restangular.one('theme').get().then(function(data) {
$rootScope.appName = data.name;
});
});
});
4 changes: 3 additions & 1 deletion docs-web/src/main/webapp/src/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@
<span ng-switch-when="zh_CN">简体中文</span>
<span ng-switch-when="zh_TW">繁體中文</span>
<span ng-switch-when="sq_AL">Shqip</span>
<span ng-switch-when="sr">Српски</span>
</span>
<span class="caret"></span>
</a>
Expand All @@ -209,6 +210,7 @@
<li><a href ng-click="changeLanguage('zh_CN')" ng-class="{ 'bg-info': currentLang == 'zh_CN' }">简体中文</a></li>
<li><a href ng-click="changeLanguage('zh_TW')" ng-class="{ 'bg-info': currentLang == 'zh_TW' }">繁體中文</a></li>
<li><a href ng-click="changeLanguage('sq_AL')" ng-class="{ 'bg-info': currentLang == 'sq_AL' }">Shqip</a></li>
<li><a href ng-click="changeLanguage('sr')" ng-class="{ 'bg-info': currentLang == 'sr' }">Српски</a></li>
</ul>
</li>
<li translate="document.default.footer_sismics"></li>
Expand All @@ -218,4 +220,4 @@
</div>
</div>
</body>
</html>
</html>
156 changes: 156 additions & 0 deletions docs-web/src/main/webapp/src/locale/angular-locale_sr.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
'use strict';
angular.module("ngLocale", [], ["$provide", function($provide) {
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
function getDecimals(n) {
n = n + '';
var i = n.indexOf('.');
return (i == -1) ? 0 : n.length - i - 1;
}

function getVF(n, opt_precision) {
var v = opt_precision;

if (undefined === v) {
v = Math.min(getDecimals(n), 3);
}

var base = Math.pow(10, v);
var f = ((n * base) | 0) % base;
return {v: v, f: f};
}

$provide.value("$locale", {
"DATETIME_FORMATS": {
"AMPMS": [
"пре подне",
"поподне"
],
"DAY": [
"недеља",
"понедељак",
"уторак",
"среда",
"четвртак",
"петак",
"субота"
],
"ERANAMES": [
"пре нове ере",
"нове ере"
],
"ERAS": [
"п. н. е.",
"н. е."
],
"FIRSTDAYOFWEEK": 0,
"MONTH": [
"јануар",
"фебруар",
"март",
"април",
"мај",
"јун",
"јул",
"август",
"септембар",
"октобар",
"новембар",
"децембар"
],
"SHORTDAY": [
"нед",
"пон",
"уто",
"сре",
"чет",
"пет",
"суб"
],
"SHORTMONTH": [
"јан",
"феб",
"мар",
"апр",
"мај",
"јун",
"јул",
"авг",
"сеп",
"окт",
"нов",
"дец"
],
"STANDALONEMONTH": [
"јануар",
"фебруар",
"март",
"април",
"мај",
"јун",
"јул",
"август",
"септембар",
"октобар",
"новембар",
"децембар"
],
"WEEKENDRANGE": [
5,
6
],
"fullDate": "EEEE, d. MMMM y.",
"longDate": "d. MMMM y.",
"medium": "d.MM.y. HH:mm:ss",
"mediumDate": "d.MM.y.",
"mediumTime": "HH:mm:ss",
"short": "d.MM.yy. HH:mm",
"shortDate": "d.MM.yy.",
"shortTime": "HH:mm"
},
"NUMBER_FORMATS": {
"CURRENCY_SYM": "дин.",
"DECIMAL_SEP": ",",
"GROUP_SEP": ".",
"PATTERNS": [
{
"gSize": 3,
"lgSize": 3,
"maxFrac": 3,
"minFrac": 0,
"minInt": 1,
"negPre": "-",
"negSuf": "",
"posPre": "",
"posSuf": ""
},
{
"gSize": 3,
"lgSize": 3,
"maxFrac": 2,
"minFrac": 2,
"minInt": 1,
"negPre": "-",
"negSuf": "\u00a0\u00a4",
"posPre": "",
"posSuf": "\u00a0\u00a4"
}
]
},
"id": "sr",
"localeID": "sr",
"pluralCat": function(n, opt_precision) {
var i = n | 0;
var vf = getVF(n, opt_precision);
// Правило за ONE (нпр. 1, 21, 31, 101 порука)
if (vf.v == 0 && i % 10 == 1 && i % 100 != 11 || vf.f % 10 == 1 && vf.f % 100 != 11) {
return PLURAL_CATEGORY.ONE;
}
// Правило за FEW (нпр. 2, 3, 4, 22, 23, 24 поруке)
if (vf.v == 0 && i % 10 >= 2 && i % 10 <= 4 && (i % 100 < 12 || i % 100 > 14) || vf.f % 10 >= 2 && vf.f % 10 <= 4 && (vf.f % 100 < 12 || vf.f % 100 > 14)) {
return PLURAL_CATEGORY.FEW;
}
// Све остало (MANY/OTHER - нпр. 0, 5, 11, 20 порука)
return PLURAL_CATEGORY.OTHER;
}
});
}]);
Loading