开发者

jQuery Timeago timestamps: How to choose language?

I'm sure this is a dumb question, but I really don't know how to do it.

I'm using timeago jquery plugin: http://timeago.yarp.com/

And it has locale support for multiple languages.

I'm translating my site from English to Spanish, I'm using PHP to do this. So, I would like to use timeago in both languages too.

I found this strings for multiple l开发者_运维百科anguages: https://gist.github.com/6251

But how do I use them?

Thanks!


You can get the spanish .js file for timeago here: https://gist.github.com/6251.

Reference the correct .js file in your website where you are loading an English or Spanish page.

Ie in file page_spanish.html:

<script type="text/javascript" src="timeago_spanish.js"></script>

Ie in file page_english.html:

<script type="text/javascript" src="timeago_english.js"></script>

Or if you are doing this via one PHP script, toggle based on a variable:

<?php
    if $page_lang = 'SPANISH' then
        echo '<script type="text/javascript" src="timeago_spanish.js"></script>';
    else if $page_lang = 'ENGLISH' then
        echo '<script type="text/javascript" src="timeago_english.js"></script>';
?>


Im using this code.

main.js

if (typeof($.timeago) != "undefined") {
    jQuery.timeago.settings.strings = {
        prefixAgo: "hace",
        prefixFromNow: "dentro de",
        suffixAgo: "",
        suffixFromNow: "",
        seconds: "menos de un minuto",
        minute: "un minuto",
        minutes: "unos %d minutos",
        hour: "una hora",
        hours: "%d horas",
        day: "un día",
        days: "%d días",
        month: "un mes",
        months: "%d meses",
        year: "un año",
        years: "%d años"
    };
}

from this link


You can reference different jquery.timeago.js when having one page per language, but this is static. To do it dynamically what you need to do is reference jquery.timeago.js in your page, at the end of your master or main file (or the page you use this library) you retrieve the object $.timeago and change the field settings according to the flag of your language:

if (typeof($.timeago) != "undefined") {
jQuery.timeago.settings.strings = {
        prefixAgo: null,
        prefixFromNow: null,
        suffixAgo: "il y a",
        suffixFromNow: "d'ici",
        seconds: "moins d'une minute",
        minute: "environ une minute",
        minutes: "environ %d minutes",
        hour: "environ une heure",
        hours: "environ %d heures",
        day: "environ un jour",
        days: "environ %d jours",
        month: "environ un mois",
        months: "environ %d mois",
        year: "un an",
        years: "%d ans",
        wordSeparator: " ",
        numbers: [] };
};

}


If you are using npm and installed timeago with it, then you could import local specific file from node_modules, you can have a try the following for french :

import fr from "timeago/locales/jquery.timeago.fr";
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜