i18n now working

This commit is contained in:
Athou
2014-08-10 15:20:04 +02:00
parent f9e7958e8b
commit 39be4fec4e
53 changed files with 5310 additions and 210 deletions

View File

@@ -54,13 +54,11 @@ To start the client-side webserver with watches on assets, run ``gulp dev`. The
Translate CommaFeed into your language
--------------------------------------
Files for internationalization are located [here](https://github.com/Athou/commafeed/tree/master/src/main/resources/i18n).
Files for internationalization are located [here](https://github.com/Athou/commafeed/tree/master/src/main/app/i18n).
To add a new language, create a new file in that directory.
The name of the file should be the two-letters [ISO-639-1 language code](http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).
The language has to be referenced in the `languages.properties` file to be picked up.
When adding new translations, add them in en.properties then run `mvn -e groovy:execute -Pi18n`. It will parse the english file and add placeholders in the other translation files.
The language has to be referenced in the `src/main/app/js/i18n.js` file to be picked up.
Themes
---------------------

View File

@@ -19,6 +19,8 @@
"angular-ui-select2": "0.0.5",
"angular-bootstrap": "0.2.0",
"angular-loading-bar": "0.5.0",
"angular-translate": "2.2.0",
"angular-translate-loader-static-files": "2.2.0",
"ngInfiniteScroll": "1.0.0",
"ng-grid": "2.0.6",
"mousetrap": "1.4.6",

View File

@@ -23,6 +23,10 @@ gulp.task('images', function() {
return gulp.src(SRC_DIR + 'images/**/*').pipe(gulp.dest(BUILD_DIR + 'images'));
});
gulp.task('i18n', function() {
return gulp.src(SRC_DIR + 'i18n/**/*.js').pipe(gulp.dest(BUILD_DIR + 'i18n'));
});
gulp.task('favicons', function() {
var favicons_png = SRC_DIR + '*.png';
var favicons_ico = SRC_DIR + '*.ico';
@@ -49,7 +53,7 @@ gulp.task('template-cache', function() {
return gulp.src(SRC_DIR + 'templates/**/*.html').pipe(templateCache(options)).pipe(gulp.dest(TEMP_DIR + 'js'));
});
gulp.task('build-dev', ['images', 'favicons', 'sass', 'fonts', 'template-cache', 'bower'], function() {
gulp.task('build-dev', ['images', 'i18n', 'favicons', 'sass', 'fonts', 'template-cache', 'bower'], function() {
var assets = useref.assets({
searchPath : [SRC_DIR, TEMP_DIR]
});
@@ -59,7 +63,7 @@ gulp.task('build-dev', ['images', 'favicons', 'sass', 'fonts', 'template-cache',
revReplace()).pipe(gulp.dest(BUILD_DIR));
});
gulp.task('build', ['images', 'favicons', 'sass', 'fonts', 'template-cache', 'bower'], function() {
gulp.task('build', ['images', 'i18n', 'favicons', 'sass', 'fonts', 'template-cache', 'bower'], function() {
var assets = useref.assets({
searchPath : [SRC_DIR, TEMP_DIR]
});
@@ -77,6 +81,7 @@ gulp.task('build', ['images', 'favicons', 'sass', 'fonts', 'template-cache', 'bo
gulp.task('watch', function() {
gulp.watch(SRC_DIR + 'sass/**/*.scss', ['build-dev']);
gulp.watch(SRC_DIR + 'js/**/*.js', ['build-dev']);
gulp.watch(SRC_DIR + 'i18n/**/*.js', ['build-dev']);
gulp.watch(SRC_DIR + 'templates/**/*.html', ['build-dev']);
});

180
src/main/app/i18n/ar.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "حفظ",
"cancel" : "إلغاء",
"delete" : "حذف",
"required" : "مطلوب",
"download" : "تحميل",
"link" : "رابط",
"bookmark" : "مرجعية",
"close" : "أغلق",
"tags" : "Tags "
},
"tree" : {
"subscribe" : "اشترك",
"import" : "استورد",
"new_category" : "فئة جديدة",
"all" : "الكل",
"starred" : "المفضل"
},
"subscribe" : {
"feed_url" : "رابط المغذي",
"feed_name" : "اسم المغذي",
"category" : "فئة"
},
"import" : {
"google_reader_prefix" : "اسمح لي استيرا المغذيات الخاص بك",
"google_reader_suffix" : "حساب.",
"google_download" : "بدلا من ذلك، يمكنك تحميل ملف subscriptions.xml الخاص بك.",
"google_download_link" : "تحميل من هنا.",
"xml_file" : "ملف OPML"
},
"new_category" : {
"name" : "الإ سم",
"parent" : "الأصل"
},
"toolbar" : {
"unread" : "غير مقروء",
"all" : "الكل",
"previous_entry" : "الإدخال السابقة",
"next_entry" : "الإدخال التالي",
"refresh" : "إعادة انعاش",
"refresh_all" : "Force refresh all my feeds ",
"sort_by_asc_desc" : "الترتيب حسب التاريخ تصاعدي / تنازلي",
"titles_only" : "العناوين فقط",
"expanded_view" : "عرض موسع",
"mark_all_as_read" : "اعتبر الكل مقروء",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day" : "العناصر الأقدم من يوم",
"mark_all_older_week" : "العناصر الأقدم من أسبوع",
"mark_all_older_two_weeks" : "العناصر الأقدم من أسبوعين",
"settings" : "إعدادات",
"profile" : "الملف الشخصي",
"admin" : "المشرف",
"about" : "معلومات حول",
"logout" : "تسجيل الخروج",
"donate" : "تبرع"
},
"view" : {
"entry_source" : "from ",
"entry_author" : "by ",
"error_while_loading_feed" : "خطأ أثناء تحميل هذه التغذية",
"keep_unread" : "إبقائه غير مقروء",
"no_unread_items" : "لا يحتوي عناصر غير مقروءة.",
"mark_up_to_here" : "Mark as read up to here ",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords "
},
"feedsearch" : {
"hint" : "أدخل اشتراك ...",
"help" : "استخدام مفتاح العودة للاختيار ومفاتيح الأسهم للتنقل.",
"result_prefix" : "الاشتراكات الخاصة بك:"
},
"settings" : {
"general" : {
"value" : "General",
"language" : "Language",
"language_contribute" : "Contribute with translations",
"show_unread" : "Show feeds and categories with no unread entries",
"social_buttons" : "Show social sharing buttons",
"scroll_marks" : "In expanded view, scrolling through entries mark them as read"
},
"appearance" : "Appearance",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme" : "Theme",
"submit_your_theme" : "Submit your theme",
"custom_css" : "Custom CSS"
},
"details" : {
"feed_details" : "Feed details",
"url" : "URL",
"website" : "Website ",
"name" : "Name",
"category" : "Category",
"position" : "Position",
"last_refresh" : "Last refresh",
"message" : "Last refresh message ",
"next_refresh" : "Next refresh",
"queued_for_refresh" : "Queued for refresh",
"feed_url" : "Feed URL",
"generate_api_key_first" : "Generate an API key in your profile first.",
"unsubscribe" : "Unsubscribe",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "Category details",
"tag_details" : "Tag details ",
"parent_category" : "Parent category"
},
"profile" : {
"user_name" : "User name",
"email" : "E-mail",
"change_password" : "Change password",
"confirm_password" : "Confirm password",
"minimum_6_chars" : "Minimum 6 characters",
"passwords_do_not_match" : "Passwords do not match",
"api_key" : "API key",
"api_key_not_generated" : "Not generated yet",
"generate_new_api_key" : "Generate new API key",
"generate_new_api_key_info" : "Changing password will generate a new API key",
"opml_export" : "OPML export",
"delete_account" : "Delete account",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed is built on top of JAX-RS and AngularJS. As such, a REST API is available.",
"link_to_documentation" : "Link to the documentation."
},
"keyboard_shortcuts" : "Keyboard shortcuts",
"version" : "CommaFeed version ",
"line1_prefix" : "CommaFeed is an open-source project. Sources are hosted on ",
"line1_suffix" : ".",
"line2_prefix" : "If you encounter an issue, please report it on the issues page of the ",
"line2_suffix" : " project.",
"line3" : "If you like this project, please consider a donation to support the developer and help cover the costs of keeping this website online.",
"line4" : "For those of you who prefer bitcoin, here is the address",
"goodies" : {
"value" : "Goodies",
"android_app" : "Android app ",
"subscribe_url" : "Subscribe URL",
"chrome_extension" : "Chrome extension",
"firefox_extension" : "Firefox extension",
"opera_extension" : "Opera extension",
"subscribe_bookmarklet" : "Add subscription bookmarklet (click)",
"subscribe_bookmarklet_asc" : "Oldest first ",
"subscribe_bookmarklet_desc" : "Newest first ",
"next_unread_bookmarklet" : "Next unread item bookmarklet (drag to bookmark bar)"
},
"translation" : {
"value" : "Translation",
"message" : "We need your help to translate CommaFeed.",
"link" : "See how to contribute with translations."
},
"announcements" : "Announcements",
"shortcuts" : {
"mouse_middleclick" : "mouse middleclick",
"open_next_entry" : "open next entry",
"open_previous_entry" : "open previous entry",
"spacebar" : "space/shift+space ",
"move_page_down_up" : "moves the page down/up ",
"focus_next_entry" : "set focus on next entry without opening it",
"focus_previous_entry" : "set focus on previous entry without opening it",
"open_next_feed" : "open next feed or category",
"open_previous_feed" : "open previous feed or category",
"open_close_current_entry" : "open/close current entry",
"open_current_entry_in_new_window" : "open current entry in a new window",
"open_current_entry_in_new_window_background" : "open current entry in a new window in the background",
"star_unstar" : "star/unstar current entry",
"mark_current_entry" : "mark as read/unread current entry",
"mark_all_as_read" : "mark all entries as read",
"open_in_new_tab_mark_as_read" : "open entry in new tab and mark as read",
"fullscreen" : "toggle full screen mode ",
"font_size" : "increase/decrease font size of the current entry ",
"go_to_all" : "go to the All view ",
"go_to_starred" : "go to the Starred view ",
"feed_search" : "navigate to a subscription by entering the subscription name"
}
}
}

180
src/main/app/i18n/ca.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Desa",
"cancel" : "Cancel·la",
"delete" : "Esborra",
"required" : "Requerit",
"download" : "Descarrega",
"link" : "Enllaç",
"bookmark" : "Adreça d'interès",
"close" : "Tancar",
"tags" : "Etiquetes"
},
"tree" : {
"subscribe" : "Subscriure",
"import" : "Importa",
"new_category" : "Nova categoria",
"all" : "Tot",
"starred" : "Destacats"
},
"subscribe" : {
"feed_url" : "URL del canal",
"feed_name" : "Nom del canal",
"category" : "Categoria"
},
"import" : {
"google_reader_prefix" : "Importaré els canals del teu",
"google_reader_suffix" : " compte.",
"google_download" : "O be, carrega el teu fitxer subscriptions.xml.",
"google_download_link" : "Descarrega'l d'aquí.",
"xml_file" : "Fitxer OPML "
},
"new_category" : {
"name" : "Nom",
"parent" : "Arrel"
},
"toolbar" : {
"unread" : "Per llegir",
"all" : "Tots",
"previous_entry" : "Entrada prèvia",
"next_entry" : "Entrada següent",
"refresh" : "Actualitzar",
"refresh_all" : "Força l'actualització de tots els canals",
"sort_by_asc_desc" : "Ordenar per data asc/desc",
"titles_only" : "Només títols",
"expanded_view" : "Vista ampliada",
"mark_all_as_read" : "Marcar tots llegits",
"mark_all_older_12_hours" : "Ítems més vells de 12 hores",
"mark_all_older_day" : "Ítems més vells d'un dia",
"mark_all_older_week" : "Ítems més vells d'una setmana",
"mark_all_older_two_weeks" : "Ítems més vells de dues setmanes",
"settings" : "Configuració",
"profile" : "Perfil",
"admin" : "Admin",
"about" : "Quant a",
"logout" : "Desconnecta't",
"donate" : "Donació"
},
"view" : {
"entry_source" : "de ",
"entry_author" : "per ",
"error_while_loading_feed" : "Error carregant el canal",
"keep_unread" : "Conserva com a no llegit",
"no_unread_items" : "no té ítems sense llegir.",
"mark_up_to_here" : "Marcar com a llegit fins aquí",
"search_for" : "cercant: ",
"no_search_results" : "No hi ha coincidències per les paraules clau sol·licitades"
},
"feedsearch" : {
"hint" : "Introdueix una subscripció...",
"help" : "Utilitza la tecla de retorn per seleccionar i les tecles de cursor per navegar.",
"result_prefix" : "Les teves subscripcions:"
},
"settings" : {
"general" : {
"value" : "General",
"language" : "Idioma",
"language_contribute" : "Contribueix amb traduccions",
"show_unread" : "Mostrar canals i categories amb entrades sense llegir",
"social_buttons" : "Mostrar botons per compartir en xarxes socials",
"scroll_marks" : "A la vista ampliada si et desplaces per les entrades les marques com a llegides"
},
"appearance" : "Aparença",
"scroll_speed" : "Velocitat de desplaçament quan navegues entre entrades (en mil·lisegons)",
"scroll_speed_help" : "Fixa a 0 per desactivar",
"theme" : "Tema",
"submit_your_theme" : "Envia un tema",
"custom_css" : "CSS personalitzat"
},
"details" : {
"feed_details" : "Detalls del canal",
"url" : "URL",
"website" : "Lloc web",
"name" : "Nom",
"category" : "Categoria",
"position" : "Posició",
"last_refresh" : "Darrera actualització",
"message" : "Darrer missatge d'actualització",
"next_refresh" : "Propera actualització",
"queued_for_refresh" : "A la cua d'actualització",
"feed_url" : "URL del canal",
"generate_api_key_first" : "Abans cal que generis una clau API en el teu perfil.",
"unsubscribe" : "Cancel·la la subscripció",
"unsubscribe_confirmation" : "Segur que vols cancel·lar la subscripció del canal?",
"delete_category_confirmation" : "Segur que vols esborrar la categoria?",
"category_details" : "Detalls de la categoria",
"tag_details" : "Detalls de l'etiqueta",
"parent_category" : "Categoria arrel"
},
"profile" : {
"user_name" : "Nom d'usuari",
"email" : "Adreça electrònica",
"change_password" : "Canvia la contrasenya ",
"confirm_password" : "Confirma la contrasenya",
"minimum_6_chars" : "Mínim de 6 caracters",
"passwords_do_not_match" : "Les contrasenyes no coincideixen",
"api_key" : "Clau API ",
"api_key_not_generated" : "Encara no s'ha generat",
"generate_new_api_key" : "Genera una nova clau API ",
"generate_new_api_key_info" : "El canvi de contrasenya generarà una nova clau API",
"opml_export" : "Exporta OPML ",
"delete_account" : "Esborra el compte ",
"delete_account_confirmation" : "Vols esborrar el teu compte? No ho podràs desfer!"
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed funciona amb JAX-RS i AngularJS. Per tant, té disponible una API REST.",
"link_to_documentation" : "Enllaç a la documentació."
},
"keyboard_shortcuts" : "Dreceres de teclat",
"version" : "Versió de CommaFeed ",
"line1_prefix" : "CommaFeed és un projecte de codi font obert. El codi font és hostatjat a ",
"line1_suffix" : ".",
"line2_prefix" : "Si trobes un problema, si us plau informa'n a la pàgina de problemes del ",
"line2_suffix" : " projecte.",
"line3" : "Si t'agrada el projecte, pensa en fer un donatiu per recolzar el desenvolupador i per ajudar amb les despeses de l'hostatge del lloc web. ",
"line4" : "I pels que preferiu bitcoin, aquí teniu l'adreça",
"goodies" : {
"value" : "Afegitons",
"android_app" : "App Android",
"subscribe_url" : "URL de subscripció",
"chrome_extension" : "Extensió del Chrome ",
"firefox_extension" : "Extensió del Firefox",
"opera_extension" : "Extensió de l'Opera",
"subscribe_bookmarklet" : "Afegeix bookmarklet de subscripció (clica)",
"subscribe_bookmarklet_asc" : "Primer els vells",
"subscribe_bookmarklet_desc" : "Primer els nous",
"next_unread_bookmarklet" : "Bookmarklet del proper ítem sense llegir (arrosega a la barra d'adreces d'interès)"
},
"translation" : {
"value" : "Traducció",
"message" : "Necessitem la teva ajuda per traduir CommaFeed.",
"link" : "Informació per contribuir amb traduccions."
},
"announcements" : "Anuncis",
"shortcuts" : {
"mouse_middleclick" : "Clic amb el botó del mig",
"open_next_entry" : "obrir entrada següent",
"open_previous_entry" : "obrir entrada prèvia",
"spacebar" : "espai/majúscula+espai",
"move_page_down_up" : "mou la pàgina avall/amunt",
"focus_next_entry" : "fixa el focus en l'entrada següent entrada sense obrir-la",
"focus_previous_entry" : "fixa el focus en l'entrada prèvia sense obrir-la",
"open_next_feed" : "obrir canal o categoria següent",
"open_previous_feed" : "obrir canal o categoria prèvia",
"open_close_current_entry" : "obre/tanca entrada actual",
"open_current_entry_in_new_window" : "obrir entrada actual en una finestra nova",
"open_current_entry_in_new_window_background" : "obrir entrada actual en una finestra nova en segon pla",
"star_unstar" : "destacar/treure destacat a l'entrada actual ",
"mark_current_entry" : "marcar com a llegida/no llegida l'entrada actual",
"mark_all_as_read" : "marcar totes les entrades com a llegides",
"open_in_new_tab_mark_as_read" : "obrir entrada en una pestanya nova i marcar com a llegida ",
"fullscreen" : "commutar el mode de pantalla completa",
"font_size" : "incrementar/reduir la mida de la font de l'entrada actual",
"go_to_all" : "anar a la vista de Tot ",
"go_to_starred" : "anar a la vista de Destacats",
"feed_search" : "navegar a una subscripció introduint-ne el nom"
}
}
}

180
src/main/app/i18n/cs.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save " : " Uložit",
"cancel " : " Zrušit",
"delete " : " Odstranit",
"required " : " Povinné",
"download " : " Stáhnout",
"link " : " Odkaz",
"bookmark " : " Záložky",
"close " : " Zavřít",
"tags" : "Tags "
},
"tree" : {
"subscribe " : " Nový odběr",
"import " : " Importovat",
"new_category " : " Nová kategorie",
"all " : " Vše",
"starred " : " Oblíbené"
},
"subscribe" : {
"feed_url " : " URL RSS zdroje",
"feed_name " : " Název",
"category " : " Kategorie"
},
"import" : {
"google_reader_prefix " : " Importujte si RSS zdroje s vašeho",
"google_reader_suffix " : " účtu.",
"google_download " : " Anebo můžete nahrát váš subscriptions.xml soubor",
"google_download_link " : " Stáhnout jej múžete odtud",
"xml_file" : "Soubor OPML"
},
"new_category" : {
"name " : " Název",
"parent " : " Hlavní"
},
"toolbar" : {
"unread " : " Nepřečtené ",
"all " : " Vše",
"previous_entry " : " Předchozí položka",
"next_entry " : " Následující položka",
"refresh " : " Obnovit",
"refresh_all" : "Force refresh all my feeds ",
"sort_by_asc_desc " : " Seřadit podle nejnovějšího/nejstaršího",
"titles_only " : " Zobrazit jenom titulky",
"expanded_view " : " Rozšířený náhled",
"mark_all_as_read " : " Označit vše jako přečtené",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day " : " Položky starší než den",
"mark_all_older_week " : " Položky starší než týden",
"mark_all_older_two_weeks " : " Položky starší než dva týdny",
"settings " : " Nastavení",
"profile " : " Profil",
"admin " : " Admin",
"about " : " O CommaFeed",
"logout " : " Odhlásit",
"donate " : " Donate"
},
"view" : {
"entry_source " : " s",
"entry_author " : " od",
"error_while_loading_feed " : " Během načítání se vyskytla chyba",
"keep_unread " : " Označit jako nepřečtené",
"no_unread_items " : " nemá žádné nepřečtené položky.",
"mark_up_to_here " : " Až potud označit položky jako přečtené",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords "
},
"feedsearch" : {
"hint " : " Zadejte název pro nový odběr ...",
"help " : " Použijte klávesu enter pro výběr a směrové klávesy pro navigaci.",
"result_prefix " : " Vaše odebírání:"
},
"settings" : {
"general" : {
"value " : " Všeobecné",
"language " : " Jazyk",
"language_contribute " : " Zapojte se a pomozte z překladem",
"show_unread " : " Zobrazit položky a kategorie z přečtenými položkami",
"social_buttons " : " Zobrazit možnosti sdílení",
"scroll_marks " : " Skrolování v rozšířeném náhledu označí položky jako přečtené"
},
"appearance " : " Vzhled",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme " : " Motiv",
"submit_your_theme " : " Nahrát vlastní motiv",
"custom_css " : " Vlastní motiv (CSS)"
},
"details" : {
"feed_details " : " Detail odběru",
"url " : " URL odkaz",
"website " : " Web stránka",
"name " : " Název",
"category " : " Kategorie",
"position " : " Pozice",
"last_refresh " : " Poslední obnovení",
"message" : "Last refresh message ",
"next_refresh " : " Nadcházející obnovení",
"queued_for_refresh " : " Ve frontě na obnovu",
"feed_url " : " URL RSS zdroje",
"generate_api_key_first " : " Vygenerujte si API klíč na stránce vašeho profilu.",
"unsubscribe " : " Odhlásit odběr.",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details " : " Detail kategorie",
"tag_details" : "Tag details ",
"parent_category " : " Hlavní kategorie"
},
"profile" : {
"user_name " : " Uživatelské jméno",
"email " : " E-mail",
"change_password " : " Změnit heslo",
"confirm_password " : " Potvrdit heslo",
"minimum_6_chars " : " Minimum je 6 znaků",
"passwords_do_not_match " : " Hesla se neshodují",
"api_key " : " API klíč",
"api_key_not_generated " : " Není vygenerován",
"generate_new_api_key " : " Vygenerovat nový API klíč",
"generate_new_api_key_info " : " Změnou hesla vygenerujete nový API klíč",
"opml_export " : " exportovat do formátu OPML",
"delete_account " : " Odstranit účet",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value " : " REST API",
"line1 " : " CommaFeed je postaven na JAX-RS a AngularJS. Dostupná je REST API.",
"link_to_documentation " : " Dokumentace."
},
"keyboard_shortcuts " : " Klávesové zkratky",
"version" : "CommaFeed version ",
"line1_prefix " : " CommaFeed je open source projekt. Zdrojový kód je dostupný na",
"line1_suffix " : ".",
"line2_prefix " : " V případě, že narazíte na problém, ohlaste ho prosím na stránkách",
"line2_suffix " : " projektu.",
"line3 " : " V případě, že se vám líbí CommaFeed, zvažte prosím finanční příspěvek. Podpoříte tak budoucí vývoj a také pomůžete udržet web stránky online.",
"line4 " : " Bitcoin",
"goodies" : {
"value " : " Rozšíření",
"android_app " : " Aplikace pro zařízení Android",
"subscribe_url " : " URL",
"chrome_extension " : " Rozšíření pro prohlížeč Chrome",
"firefox_extension " : " Rozšíření pro prohlížeč Firefox",
"opera_extension " : " Rozšíření pro prohlížeč Opera",
"subscribe_bookmarklet " : " Bookmarklet (klikněte)",
"subscribe_bookmarklet_asc " : " Seřadit od nejstaršího k nejnovějšímu",
"subscribe_bookmarklet_desc " : " Seřadit od nejnovějšího k nejstaršímu",
"next_unread_bookmarklet " : " Záložka následující nepřečtené položky (protáhnout k záložkám)"
},
"translation" : {
"value " : " Překlad",
"message " : " Pomozte z překladem CommaFeed.",
"link " : " Zjistěte jak můžete pomoct s překladem."
},
"announcements " : " Oznámení",
"shortcuts" : {
"mouse_middleclick " : " klik prostředním tlačítkem",
"open_next_entry " : " zobrazit následující položku",
"open_previous_entry " : " zobrazit předchozí položku",
"spacebar " : " space / shift + mezerník",
"move_page_down_up " : " pohyb směrem dolů/nahoru",
"focus_next_entry " : " přesun na následující položku bez jejího zobrazení",
"focus_previous_entry " : " přesun na předchozí položku bez jejího zobrazení",
"open_next_feed " : " přesun na následující odběr/kategorii",
"open_previous_feed " : " přesun na předchozí odběr/kategorii",
"open_close_current_entry " : " zobrazit/zavřít vybranou položku",
"open_current_entry_in_new_window " : " otevřít vybranou položku v novém okně",
"open_current_entry_in_new_window_background " : " otevřít vybranou položku na pozadí",
"star_unstar " : " označit vybranou položku jako oblíbenou/neoblíbenou",
"mark_current_entry " : " označit vybrané položky jako přečtené/nepřečtené",
"mark_all_as_read " : " označit všechny položky jako přečtené!",
"open_in_new_tab_mark_as_read " : " otevřít položku na nové kartě a označit ji jako přečtenou",
"fullscreen " : " přepnout zobrazení na celou obrazovku",
"font_size " : " zvětšit/zmenšit velikost písma pro vybranou položku",
"go_to_all" : "go to the All view ",
"go_to_starred" : "go to the Starred view ",
"feed_search " : " přejít na odběr vložením jeho názvu"
}
}
}

180
src/main/app/i18n/cy.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Cadw",
"cancel" : "Diddymu",
"delete" : "Dileu",
"required" : "Gofynnol",
"download" : "Lawrlwytho",
"link" : "Dolen",
"bookmark" : "Nod tudalen",
"close" : "Cau",
"tags" : "Tags "
},
"tree" : {
"subscribe" : "Tanysgrifio",
"import" : "Mewnforio",
"new_category" : "Categori newydd",
"all" : "Popeth",
"starred" : "Serennwyd"
},
"subscribe" : {
"feed_url" : "URL Ffrwd",
"feed_name" : "Enw Ffrwd",
"category" : "Categori"
},
"import" : {
"google_reader_prefix" : "Gad i mi fewnforio dy ffrydiau o dy ",
"google_reader_suffix" : " gyfrif.",
"google_download" : "Fel arall, lanlwytha dy ffeil tanysgrifiadau.xml",
"google_download_link" : "Lawrlwytha fe yma.",
"xml_file" : "Ffeil OPML"
},
"new_category" : {
"name" : "Enw",
"parent" : "Rhiant"
},
"toolbar" : {
"unread" : "Heb ddarllen",
"all" : "Popeth",
"previous_entry" : "Eitem blaenorol",
"next_entry" : "Eitem nesaf",
"refresh" : "Adnewyddu",
"refresh_all" : "Gorfodi ail-lwytho pob ffrwd",
"sort_by_asc_desc" : "Trefnu yn ôl dyddiad",
"titles_only" : "Teitlau yn unig",
"expanded_view" : "Golwg estynedig",
"mark_all_as_read" : "Nodi'r cyfan fel wedi ei ddarllen",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day" : "Eitemau hyn na diwrnod",
"mark_all_older_week" : "Eitemau hyn nag wythnos",
"mark_all_older_two_weeks" : "Eitemau hyn na phythefnos",
"settings" : "Gosodiadau",
"profile" : "Proffil",
"admin" : "Gweinyddwr",
"about" : "Ynghylch",
"logout" : "Allgofnodi",
"donate" : "Rhoddi"
},
"view" : {
"entry_source" : "o",
"entry_author" : "gan",
"error_while_loading_feed" : "Gwall wrth lwytho'r ffrwd",
"keep_unread" : "Parhau i'w nodi fel heb ei ddarllen",
"no_unread_items" : ": Dim eitemau heb eu darllen ",
"mark_up_to_here" : "Nodi'r rhai hyd yma fel wedi eu darllen",
"search_for" : "yn chwilio am:",
"no_search_results" : "Ni chanfuwyd unrhyw beth gyda'r geiriau hynny"
},
"feedsearch" : {
"hint" : "Rho'r tanysgrifiad...",
"help" : "Defnyddia'r dychwelwr i ddethol a saethau i lywio",
"result_prefix" : "Dy danysgrifiadau:"
},
"settings" : {
"general" : {
"value" : "Cyffredinol",
"language" : "Iaith",
"language_contribute" : "Cyfrannu drwy gyfieithu",
"show_unread" : "Dangos ffrydiau a chategoriau gyda dim eitemau heb eu darllen",
"social_buttons" : "Dangos botymau rhannu",
"scroll_marks" : "Marcio eitemau fel wedi eu darllen wrth sgrolio drwyddynt yn y golwg estynedig "
},
"appearance" : "Golwg",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme" : "Thema",
"submit_your_theme" : "Cyflwyna dy thema",
"custom_css" : "CSS wedi'i addasu"
},
"details" : {
"feed_details" : "Manylion ffrwd",
"url" : "URL",
"website" : "Gwefan",
"name" : "Enw",
"category" : "Categori",
"position" : "Safle",
"last_refresh" : "Adnewyddiad diwethaf",
"message" : "Neges adnewyddiad diwethaf",
"next_refresh" : "Adnewyddiad nesaf",
"queued_for_refresh" : "Ciwiwyd i'w adnewyddu",
"feed_url" : "URL Ffrwd",
"generate_api_key_first" : "Rhaid creu allwedd API yn dy broffil yn gyntaf.",
"unsubscribe" : "Dad-danysgrifio",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "Manylion categori",
"tag_details" : "Tag details ",
"parent_category" : "Categori rhiant"
},
"profile" : {
"user_name" : "Enw defnyddiwr",
"email" : "E-bost",
"change_password" : "Newid cyfrinair",
"confirm_password" : "Cadarnhau cyfrinair",
"minimum_6_chars" : "Isafswm 6 nod",
"passwords_do_not_match" : "Mae'r cyfrineiriau yn wahanol",
"api_key" : "Allwedd API",
"api_key_not_generated" : "Heb ei gynhyrchu eto",
"generate_new_api_key" : "Creu allwedd API newydd",
"generate_new_api_key_info" : "Mae newid cyfrinair yn creu allwedd API newydd",
"opml_export" : "Allforio OPML",
"delete_account" : "Dileu cyfrif",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "Adeiladir CommaFeed ar JAX-RS ac AngularJS. Mae REST API ar gael.",
"link_to_documentation" : "Dolen i'r ddogfennaeth."
},
"keyboard_shortcuts" : "Llwybr byr bysellfwrdd",
"version" : "Fersiwn CommaFeed: ",
"line1_prefix" : "Mae CommaFeed yn prosiect cod agored. Mae'r cod ar ",
"line1_suffix" : ".",
"line2_prefix" : "Os wyt ti'n ffeindio problem, plîs gad wybod amdano ar dudalen problemau o'r ",
"line2_suffix" : " prosiect.",
"line3" : "Os wyt ti'n hoffi'r prosiect, plîs ystyria cyfrannu i gefnogi'r datblygwr a helpu gyda chynnal a chadw'r wefan hon.",
"line4" : "I'r rhai sy'n hoff o Bitcoin, dyma'r cyfeiriad",
"goodies" : {
"value" : "Goodies",
"android_app" : "Ap Android",
"subscribe_url" : "URL Tanysgrifio",
"chrome_extension" : "estyniad Chrome",
"firefox_extension" : "estyniad Firefox",
"opera_extension" : "estyniad Opera",
"subscribe_bookmarklet" : "Ychwanegu botwm tanysgrifio ",
"subscribe_bookmarklet_asc" : "Hynaf yn gyntaf",
"subscribe_bookmarklet_desc" : "Diweddaraf yn gyntaf",
"next_unread_bookmarklet" : "Botwm eitem nesaf heb ei ddarllen (llusgo i far nodau)"
},
"translation" : {
"value" : "Cyfieithiad",
"message" : "Rydym angen dy help i gyfieithu CommaFeed.",
"link" : "Gweler sut i gyfrannu i gyfieithiadau."
},
"announcements" : "Datganiadau",
"shortcuts" : {
"mouse_middleclick" : "clic botwm canol llygoden",
"open_next_entry" : "agor yr eitem nesaf",
"open_previous_entry" : "agor yr eitem flaenorol",
"spacebar" : "space/shift+space",
"move_page_down_up" : "symud y tudalen i lawr/fyny",
"focus_next_entry" : "newid ffocws i'r eitem nesaf heb ei hagor",
"focus_previous_entry" : "newid ffocws i'r eitem flaenorol heb ei hagor",
"open_next_feed" : "agor y ffrwd neu gategori nesaf",
"open_previous_feed" : "agor y ffrwd neu gategori blaenorol",
"open_close_current_entry" : "agor/cau yr eitem gyfredol",
"open_current_entry_in_new_window" : "agor yr eitem gyfredol mewn ffenestr newydd",
"open_current_entry_in_new_window_background" : "agor yr eitem gyfredol mewn ffenestr newydd yn y cefndir",
"star_unstar" : "serennu/dadserennu'r eitem gyfredol",
"mark_current_entry" : "marcio'r eitem gyfredol fel wedi/heb ei ddarllen",
"mark_all_as_read" : "marcio popeth fel wedi ei ddarllen",
"open_in_new_tab_mark_as_read" : "agor yr eitem mewn tab newydd a'i farcio fel wedi ei ddarllen",
"fullscreen" : "toglo'r golwg sgrin lawn",
"font_size" : "cynyddu/lleihau maint ffont yr eitem gyfredol",
"go_to_all" : "newid i olwg 'Popeth'",
"go_to_starred" : "newid i olwg 'Serennwyd'",
"feed_search" : "llywio i danysgrifiad gan roi ei enw mewn"
}
}
}

180
src/main/app/i18n/da.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Gem",
"cancel" : "Annuller",
"delete" : "Slet",
"required" : "Påkrævet",
"download" : "Hent",
"link" : "Link",
"bookmark" : "Bogmærke",
"close" : "Luk",
"tags" : "Tags "
},
"tree" : {
"subscribe" : "Abonner",
"import" : "Importer",
"new_category" : "Ny kategori",
"all" : "Alle",
"starred" : "Favoritter"
},
"subscribe" : {
"feed_url" : "URL for abonnement ",
"feed_name" : "Abonnementsnavn",
"category" : "Kategori"
},
"import" : {
"google_reader_prefix" : "Lad mig importere dine abonnementer fra ",
"google_reader_suffix" : " konto.",
"google_download" : "Alternativt, upload din subscriptions.xml fil.",
"google_download_link" : "Hent den herfra.",
"xml_file" : "OPML fil"
},
"new_category" : {
"name" : "Navn",
"parent" : "Overordnet"
},
"toolbar" : {
"unread" : "Ulæst",
"all" : "Alle",
"previous_entry" : "Forrige artikkel",
"next_entry" : "Næste artikkel",
"refresh" : "Opdater",
"refresh_all" : "Force refresh all my feeds ",
"sort_by_asc_desc" : "Sorter efter dato ny/gammel",
"titles_only" : "Kun titler",
"expanded_view" : "Udvidet visning",
"mark_all_as_read" : "Marker alle som læst",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day" : "Artikler ældere end én dag",
"mark_all_older_week" : "Artikler ældere end én uge",
"mark_all_older_two_weeks" : "Artikler ældere end to uger",
"settings" : "Indstillinger",
"profile" : "Profil",
"admin" : "Admin",
"about" : "Om",
"logout" : "Log ud",
"donate" : "Donér"
},
"view" : {
"entry_source" : "from ",
"entry_author" : "af ",
"error_while_loading_feed" : "Fejl under indlæsning af artikel",
"keep_unread" : "Behold som ulæst",
"no_unread_items" : "har ingen ulæste artikler.",
"mark_up_to_here" : "Mark as read up to here ",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords "
},
"feedsearch" : {
"hint" : "Angiv et abonnement...",
"help" : "Brug enter tasten til at vælge og piltasterne til at navigere.",
"result_prefix" : "Dine abonnementer:"
},
"settings" : {
"general" : {
"value" : "Generelt",
"language" : "Sprog",
"language_contribute" : "Kontribuer med en oversættelse",
"show_unread" : "Vis abonnomenter og kategorier med læste artikler",
"social_buttons" : "Vis delingsknapper",
"scroll_marks" : "I udvidet visning, marker artikler som læste når der rulles forbi dem"
},
"appearance" : "Udseende",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme" : "Tema",
"submit_your_theme" : "Indsend dit tema",
"custom_css" : "Brugerdefineret CSS"
},
"details" : {
"feed_details" : "Abonnementsdetaljer",
"url" : "URL",
"website" : "Website ",
"name" : "Navn",
"category" : "Kategori",
"position" : "Position",
"last_refresh" : "Sidste opdatering",
"message" : "Last refresh message ",
"next_refresh" : "Næste opdatering",
"queued_for_refresh" : "I kø til opdatering",
"feed_url" : "URL for abonnement",
"generate_api_key_first" : "Generer en API nøgle i din profil først.",
"unsubscribe" : "Afmeld abonnement",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "Kategori detaljer",
"tag_details" : "Tag details ",
"parent_category" : "Overordnet kategori"
},
"profile" : {
"user_name" : "Brugernavn",
"email" : "E-mail",
"change_password" : "Skift adgangskode",
"confirm_password" : "Bekræft adgangskode",
"minimum_6_chars" : "Minimum 6 karakter",
"passwords_do_not_match" : "Adgangskoderne er ikke ens",
"api_key" : "API nøgle",
"api_key_not_generated" : "Ikke genereret endnu",
"generate_new_api_key" : "Generer ny API nøgle",
"generate_new_api_key_info" : "Ændring af adgangskode vil generere en ny API nøgle",
"opml_export" : "OPML eksport",
"delete_account" : "Slet konto",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed er bygget oven på JAX-RS og AngularJS. Hvilket gør et REST API tilgængeligt.",
"link_to_documentation" : "Link til dokumentationen."
},
"keyboard_shortcuts" : "Tastaturgenveje",
"version" : "CommaFeed version ",
"line1_prefix" : "CommaFeed er et open-source project. Kildekoden kan findes på ",
"line1_suffix" : ".",
"line2_prefix" : "Hvis du opdager et problem, så rapporter det venligst på ",
"line2_suffix" : " projekt.",
"line3" : "Hvis du syntes om projektet, overvej venligst at donere for at hjælpe udviklerne og dække omkostningerne til drift af hjemmesiden.",
"line4" : "Til dig der foretrækker bitcoin, her er adressen",
"goodies" : {
"value" : "Godter",
"android_app" : "Android app ",
"subscribe_url" : "Abonner URL",
"chrome_extension" : "Chrome udvidelse",
"firefox_extension" : "Firefox udvidelse",
"opera_extension" : "Opera udvidelse",
"subscribe_bookmarklet" : "Tilføj abonnoment bogmærkeprogram (click)",
"subscribe_bookmarklet_asc" : "Oldest first ",
"subscribe_bookmarklet_desc" : "Newest first ",
"next_unread_bookmarklet" : "Næste ulæste artikel bogmærkeprogram (træk til bogmærkebaren)"
},
"translation" : {
"value" : "Oversættelse",
"message" : "Vi har brug for din hjælp til at oversætte CommaFeed.",
"link" : "Se hvordan du kan kontribuere med oversættelser."
},
"announcements" : "Meddelelser",
"shortcuts" : {
"mouse_middleclick" : "mellemmuseklik",
"open_next_entry" : "åben næste artikel",
"open_previous_entry" : "åben forrige artikel",
"spacebar" : "space/shift+space ",
"move_page_down_up" : "moves the page down/up ",
"focus_next_entry" : "sæt fokus på næste arktiel uden at åbne den",
"focus_previous_entry" : "sæt fokus på forrige artikel uden at åbne den",
"open_next_feed" : "åben næste artikel eller kategori",
"open_previous_feed" : "åben forrige artikel eller kategori",
"open_close_current_entry" : "åben/luk nuværende artikel",
"open_current_entry_in_new_window" : "åben nuværende artikel i et nyt vindue",
"open_current_entry_in_new_window_background" : "åben nuværende artikel i et nyt vindue i baggrunden",
"star_unstar" : "marker/fjern favorit",
"mark_current_entry" : "marker som læst/ulæst",
"mark_all_as_read" : "marker alle artikler som læste",
"open_in_new_tab_mark_as_read" : "åben artikel i ny fane og marker som læst",
"fullscreen" : "toggle full screen mode ",
"font_size" : "increase/decrease font size of the current entry ",
"go_to_all" : "go to the All view ",
"go_to_starred" : "go to the Starred view ",
"feed_search" : "naviger til et abonnoment ved at skrive dets navn"
}
}
}

180
src/main/app/i18n/de.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Speichern",
"cancel" : "Abbrechen",
"delete" : "Löschen",
"required" : "Erforderlich",
"download" : "Herunterladen",
"link" : "Link",
"bookmark" : "Lesezeichen",
"close" : "Schließen",
"tags" : "Tags"
},
"tree" : {
"subscribe" : "Abonnieren",
"import" : "Importieren",
"new_category" : "Neue Kategorie",
"all" : "Alles",
"starred" : "Favoriten"
},
"subscribe" : {
"feed_url" : "Feed Adresse",
"feed_name" : "Feed Name",
"category" : "Kategorie"
},
"import" : {
"google_reader_prefix" : "Importiere die Feeds von deinem",
"google_reader_suffix" : " Account.",
"google_download" : "Alternativ kannst du eine XML-Datei hochladen.",
"google_download_link" : "Lade sie hier herunter.",
"xml_file" : "OPML Datei"
},
"new_category" : {
"name" : "Name",
"parent" : "Übergeordnet"
},
"toolbar" : {
"unread" : "Ungelesen",
"all" : "Alles",
"previous_entry" : "Vorheriger Artikel",
"next_entry" : "Nächster Artikel",
"refresh" : "Aktualisieren",
"refresh_all" : "Erzwinge Aktualisierung aller Feeds",
"sort_by_asc_desc" : "Nach Datum sortieren (auf-/absteigend)",
"titles_only" : "Nur Überschriften",
"expanded_view" : "Ausgedehnte Ansicht",
"mark_all_as_read" : "Alle Artikel als gelesen markieren",
"mark_all_older_12_hours" : "Artikel älter als 12 Stunden",
"mark_all_older_day" : "Artikel älter als ein Tag",
"mark_all_older_week" : "Artikel älter als eine Woche",
"mark_all_older_two_weeks" : "Artikel älter als zwei Wochen",
"settings" : "Einstellungen",
"profile" : "Profil",
"admin" : "Admin",
"about" : "Über",
"logout" : "Abmelden",
"donate" : "Spenden"
},
"view" : {
"entry_source" : "von",
"entry_author" : "von ",
"error_while_loading_feed" : "Fehler beim Laden des Feeds",
"keep_unread" : "Als ungelesen behalten",
"no_unread_items" : "hat keine ungelesenen Einträge.",
"mark_up_to_here" : "Bis hier alle als gelesen markieren",
"search_for" : "Suche nach:",
"no_search_results" : "Kein Treffer bei der Suche nach den angegebenen Stichworten"
},
"feedsearch" : {
"hint" : "Gib einen Feednamen ein...",
"help" : "Drück Enter zum Auswählen und die Pfeiltasten zum Navigieren.",
"result_prefix" : "Deine Feeds:"
},
"settings" : {
"general" : {
"value" : "Allgemein",
"language" : "Sprache",
"language_contribute" : "Beteilige dich mit Übersetzungen",
"show_unread" : "Zeige Feeds und Kategorien mit ungelesenen Einträgen",
"social_buttons" : "Zeige Buttons zum Teilen von Inhalten über soziale Netzwerke",
"scroll_marks" : "In der ausgedehnten Ansicht werden Artikel beim Scrollen als gelesen markiert"
},
"appearance" : "Aussehen",
"scroll_speed" : "Geschwindigkeit beim scrollen zwischen Einträgen (in Millisekunden)",
"scroll_speed_help" : "setze auf 0 zum deaktivieren",
"theme" : "Theme",
"submit_your_theme" : "Füg dein Theme hinzu",
"custom_css" : "Eigenes CSS"
},
"details" : {
"feed_details" : "Feed details",
"url" : "URL",
"website" : "Webseite",
"name" : "Name",
"category" : "Kategorie",
"position" : "Position",
"last_refresh" : "Letzte Aktualisierung",
"message" : "Nachricht der letzten Aktualisierung",
"next_refresh" : "Nächste Aktualisierung",
"queued_for_refresh" : "Wartet auf Aktualisierung",
"feed_url" : "Feed Adresse",
"generate_api_key_first" : "Generiere zuerst einen API Schlüssel in deinem Profil.",
"unsubscribe" : "Kündigen",
"unsubscribe_confirmation" : "Bist du sicher das du diesen Feed kündigen möchtest?",
"delete_category_confirmation" : "Bist du sicher das du diese Kategorie löschen möchtest?",
"category_details" : "Kategoriedetails",
"tag_details" : "Tag Details",
"parent_category" : "Übergeordnete Kategorie"
},
"profile" : {
"user_name" : "Benutzername",
"email" : "E-mail",
"change_password" : "Passwort ändern",
"confirm_password" : "Passwort bestätigen",
"minimum_6_chars" : "Mindestens 6 Zeichen",
"passwords_do_not_match" : "Passwörter stimmen nicht überein",
"api_key" : "API Schlüssel",
"api_key_not_generated" : "Noch nicht generiert",
"generate_new_api_key" : "Generiere einen neuen API key",
"generate_new_api_key_info" : "Das Ändern des Passwortes erzeugt einen neuen API Schlüssel",
"opml_export" : "OPML exportieren",
"delete_account" : "Account löschen",
"delete_account_confirmation" : "Deinen Account löschen? Es gibt kein Zurück!"
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed basiert auf JAX-RS und AngularJS. Daher ist eine REST API verfügbar.",
"link_to_documentation" : "Link zur Dokumentation."
},
"keyboard_shortcuts" : "Tastatur Kurzbefehle",
"version" : "CommaFeed Version",
"line1_prefix" : "CommaFeed ist ein quell-offenes Projekt. Quellen werden auf ",
"line1_suffix" : " gehosted.",
"line2_prefix" : "Wenn Probleme auftauchen, melde diese bitte auf dem ",
"line2_suffix" : " Projekt.",
"line3" : "Wenn dir dieses Projekt gefällt, würde ich mich über eine kleine Spende zur Deckung der Serverkosten freuen.",
"line4" : "Für diejenigen, die Bitcoin bevorzugen ist hier meine Adresse ",
"goodies" : {
"value" : "Goodies",
"android_app" : "Android app",
"subscribe_url" : "Abonnement-URL",
"chrome_extension" : "Chrome Erweiterung",
"firefox_extension" : "Firefox Add-on",
"opera_extension" : "Opera Add-on",
"subscribe_bookmarklet" : "Abonnieren-bookmarklet (klicken)",
"subscribe_bookmarklet_asc" : "Älteste zuerst",
"subscribe_bookmarklet_desc" : "Neuste zuerst",
"next_unread_bookmarklet" : "Nächster ungelesener Artikel-bookmarklet (in Lesezeichenleiste ziehen)"
},
"translation" : {
"value" : "Übersetzung",
"message" : "Wir brauchen deine Hilfe zur Übersetzung von CommaFeed.",
"link" : "Wie du uns dabei helfen kannst"
},
"announcements" : "Bekanntmachungen",
"shortcuts" : {
"mouse_middleclick" : "Mittlere Maustaste",
"open_next_entry" : "nächsten Artikel öffnen",
"open_previous_entry" : "vorherigen Artikels öffnen",
"spacebar" : "Leertaste/Shift+Leertaste",
"move_page_down_up" : "Bewegt die Seite hoch/runter",
"focus_next_entry" : "nächsten Artikel fokussieren ohne ihn zu öffnen",
"focus_previous_entry" : "vorherigen Artikel fokussieren ohne ihn zu öffnen",
"open_next_feed" : "nächsten Feed oder Kategorie öffnen",
"open_previous_feed" : "vorherigen Feed oder Kategorie öffnen",
"open_close_current_entry" : "aktuellen Artikels öffnen/schließen",
"open_current_entry_in_new_window" : "aktuellen Artikel in neuem Fenster öffnen",
"open_current_entry_in_new_window_background" : "aktuellen Artikel in neuem Fenster im Hintergrund öffnen",
"star_unstar" : "de-/favorisieren des aktuellen Artikels",
"mark_current_entry" : "aktuellen Artikel als gelesen/ungelesen markieren",
"mark_all_as_read" : "alle Artikel als gelesen markieren",
"open_in_new_tab_mark_as_read" : "öffnen des Artikels in einem neuen Tab und als gelesen markieren",
"fullscreen" : "Vollbildmodus an-/ausschalten",
"font_size" : "Schriftgröße des aktuellen Artikels vergrößern/verkleinern",
"go_to_all" : "Gehe zur Ansicht \"Alle\"",
"go_to_starred" : "Gehe zur Ansicht \"Favoriten\"",
"feed_search" : "zu einem Feed springen durch durch eingeben seines Namens"
}
}
}

180
src/main/app/i18n/en.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Save",
"cancel" : "Cancel",
"delete" : "Delete",
"required" : "Required",
"download" : "Download",
"link" : "Link",
"bookmark" : "Bookmark",
"close" : "Close",
"tags" : "Tags"
},
"tree" : {
"subscribe" : "Subscribe",
"import" : "Import",
"new_category" : "New category",
"all" : "All",
"starred" : "Starred"
},
"subscribe" : {
"feed_url" : "Feed URL",
"feed_name" : "Feed Name",
"category" : "Category"
},
"import" : {
"google_reader_prefix" : "Let me import your feeds from your ",
"google_reader_suffix" : " account.",
"google_download" : "Alternatively, upload your subscriptions.xml file.",
"google_download_link" : "Download it from here.",
"xml_file" : "OPML File"
},
"new_category" : {
"name" : "Name",
"parent" : "Parent"
},
"toolbar" : {
"unread" : "Unread",
"all" : "All",
"previous_entry" : "Previous entry",
"next_entry" : "Next entry",
"refresh" : "Refresh",
"refresh_all" : "Force refresh all my feeds",
"sort_by_asc_desc" : "Sort by date asc/desc",
"titles_only" : "Titles only",
"expanded_view" : "Expanded view",
"mark_all_as_read" : "Mark all as read",
"mark_all_older_12_hours" : "Items older than 12 hours",
"mark_all_older_day" : "Items older than a day",
"mark_all_older_week" : "Items older than a week",
"mark_all_older_two_weeks" : "Items older than two weeks",
"settings" : "Settings",
"profile" : "Profile",
"admin" : "Admin",
"about" : "About",
"logout" : "Logout",
"donate" : "Donate"
},
"view" : {
"entry_source" : "from ",
"entry_author" : "by ",
"error_while_loading_feed" : "Error while loading this feed",
"keep_unread" : "Keep unread",
"no_unread_items" : "has no unread items.",
"mark_up_to_here" : "Mark as read up to here",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords"
},
"feedsearch" : {
"hint" : "Type in a subscription...",
"help" : "Use the return key to select and arrow keys to navigate.",
"result_prefix" : "Your subscriptions:"
},
"settings" : {
"general" : {
"value" : "General",
"language" : "Language",
"language_contribute" : "Contribute with translations",
"show_unread" : "Show feeds and categories with no unread entries",
"social_buttons" : "Show social sharing buttons",
"scroll_marks" : "In expanded view, scrolling through entries mark them as read"
},
"appearance" : "Appearance",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds)",
"scroll_speed_help" : "set to 0 to disable",
"theme" : "Theme",
"submit_your_theme" : "Submit your theme",
"custom_css" : "Custom CSS"
},
"details" : {
"feed_details" : "Feed details",
"url" : "URL",
"website" : "Website",
"name" : "Name",
"category" : "Category",
"position" : "Position",
"last_refresh" : "Last refresh",
"message" : "Last refresh message",
"next_refresh" : "Next refresh",
"queued_for_refresh" : "Queued for refresh",
"feed_url" : "Feed URL",
"generate_api_key_first" : "Generate an API key in your profile first.",
"unsubscribe" : "Unsubscribe",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed?",
"delete_category_confirmation" : "Are you sure you want to delete this category?",
"category_details" : "Category details",
"tag_details" : "Tag details",
"parent_category" : "Parent category"
},
"profile" : {
"user_name" : "User name",
"email" : "E-mail",
"change_password" : "Change password",
"confirm_password" : "Confirm password",
"minimum_6_chars" : "Minimum 6 characters",
"passwords_do_not_match" : "Passwords do not match",
"api_key" : "API key",
"api_key_not_generated" : "Not generated yet",
"generate_new_api_key" : "Generate new API key",
"generate_new_api_key_info" : "Changing password will generate a new API key",
"opml_export" : "OPML export",
"delete_account" : "Delete account",
"delete_account_confirmation" : "Delete your account? There's no turning back!"
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed is built on top of JAX-RS and AngularJS. As such, a REST API is available.",
"link_to_documentation" : "Link to the documentation."
},
"keyboard_shortcuts" : "Keyboard shortcuts",
"version" : "CommaFeed version",
"line1_prefix" : "CommaFeed is an open-source project. Sources are hosted on ",
"line1_suffix" : ".",
"line2_prefix" : "If you encounter an issue, please report it on the issues page of the ",
"line2_suffix" : " project.",
"line3" : "If you like this project, please consider a donation to support the developer and help cover the costs of keeping this website online.",
"line4" : "For those of you who prefer bitcoin, here is the address",
"goodies" : {
"value" : "Goodies",
"android_app" : "Android app",
"subscribe_url" : "Subscribe URL",
"chrome_extension" : "Chrome extension",
"firefox_extension" : "Firefox extension",
"opera_extension" : "Opera extension",
"subscribe_bookmarklet" : "Add subscription bookmarklet (click)",
"subscribe_bookmarklet_asc" : "Oldest first",
"subscribe_bookmarklet_desc" : "Newest first",
"next_unread_bookmarklet" : "Next unread item bookmarklet (drag to bookmark bar)"
},
"translation" : {
"value" : "Translation",
"message" : "We need your help to translate CommaFeed.",
"link" : "See how to contribute with translations."
},
"announcements" : "Announcements",
"shortcuts" : {
"mouse_middleclick" : "mouse middleclick",
"open_next_entry" : "open next entry",
"open_previous_entry" : "open previous entry",
"spacebar" : "space/shift+space",
"move_page_down_up" : "moves the page down/up",
"focus_next_entry" : "set focus on next entry without opening it",
"focus_previous_entry" : "set focus on previous entry without opening it",
"open_next_feed" : "open next feed or category",
"open_previous_feed" : "open previous feed or category",
"open_close_current_entry" : "open/close current entry",
"open_current_entry_in_new_window" : "open current entry in a new window",
"open_current_entry_in_new_window_background" : "open current entry in a new window in the background",
"star_unstar" : "star/unstar current entry",
"mark_current_entry" : "mark as read/unread current entry",
"mark_all_as_read" : "mark all entries as read",
"open_in_new_tab_mark_as_read" : "open entry in new tab and mark as read",
"fullscreen" : "toggle full screen mode",
"font_size" : "increase/decrease font size of the current entry",
"go_to_all" : "go to the All view",
"go_to_starred" : "go to the Starred view",
"feed_search" : "navigate to a subscription by entering the subscription name"
}
}
}

180
src/main/app/i18n/es.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Guardar",
"cancel" : "Cancelar",
"delete" : "Eliminar",
"required" : "Requerido",
"download" : "Descargar",
"link" : "Enlace",
"bookmark" : "Marcador",
"close" : "Close ",
"tags" : "Tags "
},
"tree" : {
"subscribe" : "Subscribir",
"import" : "Importar",
"new_category" : "Nueva categoría",
"all" : "Todos",
"starred" : "Destacado"
},
"subscribe" : {
"feed_url" : "URL del Canal",
"feed_name" : "Nombre del Canal",
"category" : "Categoría"
},
"import" : {
"google_reader_prefix" : "Déjame importar tus canales de tu",
"google_reader_suffix" : " cuenta.",
"google_download" : "También puedes subir tu archivo subscriptions.xml.",
"google_download_link" : "Descárgalo de aquí.",
"xml_file" : "Archivo OPML"
},
"new_category" : {
"name" : "Nombre",
"parent" : "Padre"
},
"toolbar" : {
"unread" : "Sin Leer",
"all" : "Todos",
"previous_entry" : "Entrada Anterior",
"next_entry" : "Próxima Entrada",
"refresh" : "Atualizar",
"refresh_all" : "Force refresh all my feeds ",
"sort_by_asc_desc" : "Ordenar por fecha asc/desc",
"titles_only" : "Sólo Títulos",
"expanded_view" : "Vista Expandida",
"mark_all_as_read" : "Marcar todos como leído",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day" : "Artículos anteriores a un día",
"mark_all_older_week" : "Artículos más de una semana",
"mark_all_older_two_weeks" : "Artículos más de does semanas",
"settings" : "Ajustes",
"profile" : "Perfil",
"admin" : "Admin",
"about" : "Acerca de",
"logout" : "Cerrar sesión",
"donate" : "Donar"
},
"view" : {
"entry_source" : "from ",
"entry_author" : "by ",
"error_while_loading_feed" : "Error mientras se cargaba este canal",
"keep_unread" : "Guardar no leídos",
"no_unread_items" : "no tiene items sin leer.",
"mark_up_to_here" : "Mark as read up to here ",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords "
},
"feedsearch" : {
"hint" : "Type in a subscription... ",
"help" : "Use the return key to select and arrow keys to navigate. ",
"result_prefix" : "Your subscriptions: "
},
"settings" : {
"general" : {
"value" : "General",
"language" : "Lenguaje",
"language_contribute" : "Contribuye con traducciones",
"show_unread" : "Mostrar canales y categorías sin entradas no leídas.",
"social_buttons" : "Mostrar botones de compartir de redes sociales.",
"scroll_marks" : "En vista expandida, el desplazamiento por las entradas las marca como leídas"
},
"appearance" : "Appearance ",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme" : "Theme ",
"submit_your_theme" : "Submit your theme ",
"custom_css" : "CSS Personalizado"
},
"details" : {
"feed_details" : "Detalles de Canales",
"url" : "URL",
"website" : "Website ",
"name" : "Nombre",
"category" : "Categoría",
"position" : "Position ",
"last_refresh" : "Última actualización",
"message" : "Last refresh message ",
"next_refresh" : "Next refresh ",
"queued_for_refresh" : "Queued for refresh ",
"feed_url" : "URL del Canal",
"generate_api_key_first" : "Genera una llave API en tu perfil primero.",
"unsubscribe" : "Terminar subscripción",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "Detalles de la categoría",
"tag_details" : "Tag details ",
"parent_category" : "Categoría principal"
},
"profile" : {
"user_name" : "Nombre de usuario",
"email" : "Correo",
"change_password" : "Cambiar contraseña",
"confirm_password" : "Confirmar contraseña",
"minimum_6_chars" : "Mínimo 6 caracteres",
"passwords_do_not_match" : "Las contraseñas no coinciden",
"api_key" : "Llave API",
"api_key_not_generated" : "No generado todavía",
"generate_new_api_key" : "Generar nueva llave API",
"generate_new_api_key_info" : "Al cambiar la contraseña se generará una nueva llave API",
"opml_export" : "Exportación de OPML",
"delete_account" : "Eliminar cuenta",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed está construido con el uso de JAX-RS y AngularJS. Por eso, un REST API esta disponible.",
"link_to_documentation" : "Vínculo de la documentación."
},
"keyboard_shortcuts" : "Atajos de teclado",
"version" : "CommaFeed version ",
"line1_prefix" : "CommaFeed es un proyecto open-source. El código se encuentra en ",
"line1_suffix" : ".",
"line2_prefix" : "Si encuentras un problema, por favor reportalo en la página de problemas de ",
"line2_suffix" : " del proyecto.",
"line3" : "Si te gusta este proyecto, por favor considera realizar una donacion para apoyar al desarrollador y ayudar a cubrir los costos de mantenimiento.",
"line4" : "For those of you who prefer bitcoin, here is the address ",
"goodies" : {
"value" : "Goodies",
"android_app" : "Android app ",
"subscribe_url" : "Subscribe URL ",
"chrome_extension" : "Extensión de Chrome",
"firefox_extension" : "Extensión de Firefox",
"opera_extension" : "Opera extension ",
"subscribe_bookmarklet" : "Add subscription bookmarklet (click) ",
"subscribe_bookmarklet_asc" : "Oldest first ",
"subscribe_bookmarklet_desc" : "Newest first ",
"next_unread_bookmarklet" : "Next unread item bookmarklet (drag to bookmark bar) "
},
"translation" : {
"value" : "Traducción",
"message" : "Necesitamos tu ayuda para ayudar a traducir CommaFeed.",
"link" : "Ver como contribuir con traducciones."
},
"announcements" : "Anuncios",
"shortcuts" : {
"mouse_middleclick" : "ratón botón medio",
"open_next_entry" : "abrir próxima entrada",
"open_previous_entry" : "abrir entrada previa",
"spacebar" : "space/shift+space ",
"move_page_down_up" : "moves the page down/up ",
"focus_next_entry" : "Establecer el foco en la próxima entrada sin abrirlo",
"focus_previous_entry" : "Establecer el foco en la entrada anterior sin abrirlo",
"open_next_feed" : "open next feed or category ",
"open_previous_feed" : "open previous feed or category ",
"open_close_current_entry" : "abrir/cerrar entrada actual",
"open_current_entry_in_new_window" : "abrir entrada actual en una nueva ventana",
"open_current_entry_in_new_window_background" : "open current entry in a new window in the background ",
"star_unstar" : "marcar/no marcar la entrada actual",
"mark_current_entry" : "marcar como leída/no la leída entrada actual",
"mark_all_as_read" : "marcar todas las entradas como leídas",
"open_in_new_tab_mark_as_read" : "abrir entrada en una nueva pestaña y marcar como leída",
"fullscreen" : "toggle full screen mode ",
"font_size" : "increase/decrease font size of the current entry ",
"go_to_all" : "go to the All view ",
"go_to_starred" : "go to the Starred view ",
"feed_search" : "navigate to a subscription by entering the subscription name "
}
}
}

180
src/main/app/i18n/fa.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "ذخیره",
"cancel" : "لغو",
"delete" : "حذف",
"required" : "لازم",
"download" : "بارگیری",
"link" : "پیوند",
"bookmark" : "بوکمارک",
"close" : "بستن",
"tags" : "برجسپ‌ها"
},
"tree" : {
"subscribe" : "مشترک شوید",
"import" : "درون‌ریزی",
"new_category" : "ردهٔ جدید",
"all" : "کل مطالب",
"starred" : "ستاره‌دار"
},
"subscribe" : {
"feed_url" : "نشانی خوراک",
"feed_name" : "نام خوراک",
"category" : "دسته"
},
"import" : {
"google_reader_prefix" : "اجازه بده خوراک‌هایتان را از حساب",
"google_reader_suffix" : "وارد سازم.",
"google_download" : "یا به جای آن، پروندهٔ subscriptions.xml خود را بارگذاری کنید.",
"google_download_link" : "آن را اینجا بارگیری کنید.",
"xml_file" : "پروندهٔ OPML"
},
"new_category" : {
"name" : "نام",
"parent" : "پدر"
},
"toolbar" : {
"unread" : "خوانده‌نشده",
"all" : "همه",
"previous_entry" : "مطلب قبلی",
"next_entry" : "مطلب بعدی",
"refresh" : "تازه‌سازی",
"refresh_all" : "مجبورکردن تازه‌سازی همهٔ خوراک‌ها",
"sort_by_asc_desc" : "مرتب‌کردن بر اساس تاریخ به‌صورت صعودی/نزولی",
"titles_only" : "فقط عنوان‌ها",
"expanded_view" : "نمای گسترش‌یافته",
"mark_all_as_read" : "علامت‌گذاری تمامی مطالب به‌عنوان خوانده‌شده",
"mark_all_older_12_hours" : "مطالب قدیمی‌تر از ۱۲ ساعت",
"mark_all_older_day" : "مطالب قدیمی‌تر از یک روز",
"mark_all_older_week" : "مطالب قدیمی‌تر از یک هفته",
"mark_all_older_two_weeks" : "مطالب قدیمی تر از چند هفته قیل",
"settings" : "تنظیمات",
"profile" : "نمایه",
"admin" : "مدیریت",
"about" : "درباره",
"logout" : "خروج",
"donate" : "کمک مالی"
},
"view" : {
"entry_source" : "از",
"entry_author" : "توسط",
"error_while_loading_feed" : "متأسفانه، هنگام بارگیری این خوراک خطایی رخ‌داده‌است.",
"keep_unread" : "خوانده‌نشده نگه‌دار",
"no_unread_items" : "هیچ مطلب خوانده‌نشده‌ای ندارد.",
"mark_up_to_here" : "تا اینجا را خوانده‌شده در نظر بگیر",
"search_for" : "جستجو برای:",
"no_search_results" : "هیج نتیجه‌ای برای کلیدواژه‌های درخواستی یافت نشد"
},
"feedsearch" : {
"hint" : "نوشتن بر روی یک اشتراک...",
"help" : "دکمهٔ بازگشت برای انتخاب و دکمه‌های جهت‌دار را برای ناوبری استفاده کن.",
"result_prefix" : "اشتراک‌های شما:"
},
"settings" : {
"general" : {
"value" : "همگانی",
"language" : "زبان",
"language_contribute" : "مشارکت در ترجمه",
"show_unread" : "تنها خوراک‌ها و دسته‌های را که دارای مطالب نخوانده هستند نمایش بده.",
"social_buttons" : "نشان‌دادن دکمه‌های اشتراک‌گذاری در شبکه‌های اجتماعی",
"scroll_marks" : "در نمای گسترش‌یافته، لغزیدن بر روی مطالب به‌عنوان نشانه‌گذاری به‌عنوان خوانده‌شده در نظر گرفته‌شوند."
},
"appearance" : "ظاهر",
"scroll_speed" : "سرعت لغزش هنگام گشتن بین مدخل‌ها (به میلی‌ثانیه)",
"scroll_speed_help" : "قراردادن به ۰ برای غیرفعال‌کردن",
"theme" : "پوسته",
"submit_your_theme" : "پوستهٔ خود را ارسال‌کنید",
"custom_css" : "سی‌اس‌اس شخصی‌سازی‌شده"
},
"details" : {
"feed_details" : "جزئیات خوراک",
"url" : "نشانی",
"website" : "وب‌گاه",
"name" : "نام",
"category" : "دسته",
"position" : "موقعیت",
"last_refresh" : "آخرین بروزرسانی",
"message" : "پیام آخرین تازه‌سازی",
"next_refresh" : "بروزرسانی بعدی",
"queued_for_refresh" : "منتظر برای بروزرسانی",
"feed_url" : "نشانی خوراک",
"generate_api_key_first" : "ابتدا یک کلید API در نمایهٔ خود ایجاد کنید.",
"unsubscribe" : "لغو اشتراک",
"unsubscribe_confirmation" : "مطمئنید می‌خواهید از این این لغو اشتراک کنید؟",
"delete_category_confirmation" : "مطمئنید می‌خواهید این رده را حذف کنید؟",
"category_details" : "جزئیات دسته",
"tag_details" : "جزئیات برچسپ",
"parent_category" : "ردهٔ پدر"
},
"profile" : {
"user_name" : "نام کاربری",
"email" : "رایانامه",
"change_password" : "تغییر گذرواژه",
"confirm_password" : "تأیید گذرواژه",
"minimum_6_chars" : "حداقل ۶ نویسه",
"passwords_do_not_match" : "گذرواژه‌ها انطباق ندارند",
"api_key" : "کلید API",
"api_key_not_generated" : "هنوز ایجاد نشده‌است",
"generate_new_api_key" : "ایجاد کلید جدید API",
"generate_new_api_key_info" : "تغییر گذرواژه کلید API به‌وجود خواهد آورد.",
"opml_export" : "خارج‌سازی OPML",
"delete_account" : "حذف حساب کاربری",
"delete_account_confirmation" : "حذف حسابتان؟ بازگشتی وجود ندارد!"
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "کامافید بر روی JAX-RS و AngularJS ساخته‌شده‌است. به همین دلیل API REST موجود است.",
"link_to_documentation" : "پیوند به مستندات."
},
"keyboard_shortcuts" : "کلیدهای میانبر",
"version" : "نسخهٔ کامافید",
"line1_prefix" : "کامافید یک پروژه متن‌باز است. مخازن آن در ",
"line1_suffix" : "میزبانی می‌شود.",
"line2_prefix" : "اگر شما به مسئله‌ای برخورده اید، لطفاً آن را در صفحه مسائل گزارش دهید ",
"line2_suffix" : " پروژه.",
"line3" : "در صورتی که شما به این پروژه علاقمندید، لطفاً مبلغی را هرچند ناچیزه برای حمایت از توسعه‌دهنده و کمک به تأمین هزینه‌های نگه‌داری این وب‌گاه کمک کنید.",
"line4" : "برای کسانی که بیت‌کوین را ترجیح می‌دهند، نشانی آن اینجاست",
"goodies" : {
"value" : "افزونه‌ها",
"android_app" : "برنامهٔ اندرویدی",
"subscribe_url" : "اشتراک در نشانی",
"chrome_extension" : "افزونهٔ کروم",
"firefox_extension" : "افزونهٔ فایرفاکس",
"opera_extension" : "افزونهٔ اپرا",
"subscribe_bookmarklet" : "افزودن بوک‌مارک‌لت اشتراک (با کلیک)",
"subscribe_bookmarklet_asc" : "اول قدیمی‌ترین‌ها",
"subscribe_bookmarklet_desc" : "اول جدیدترین‌ها",
"next_unread_bookmarklet" : "بوک‌مارک‌لت مطلب خوانده نشدهٔ بعدی(با کشیدن و رهاکردن در نوار بوک‌مارک‌لت)"
},
"translation" : {
"value" : "ترجمه",
"message" : "ما به کمک شما برای ترجمهٔ کامافید نیازمدیم.",
"link" : "ببینید چگونه می‌توان در ترجمه‌های مشارکت نمود."
},
"announcements" : "اطلاعیه‌ها",
"shortcuts" : {
"mouse_middleclick" : "کلیک وسطی موشواره",
"open_next_entry" : "بازکردن مطلب بعدی",
"open_previous_entry" : "بازکردن مطلب قبلی",
"spacebar" : "space/shift+space",
"move_page_down_up" : "صفحه را بالا/پایین انتقال می‌دهد",
"focus_next_entry" : "رفتن بر روی مطلب بعدی بدون بازکردن کامل آن",
"focus_previous_entry" : "رفتن بر روی مطلب بعدی قبلی بازکردن کامل آن",
"open_next_feed" : "بازکردن خوراک یا دستهٔ بعدی",
"open_previous_feed" : "بازکردن خوراک یا دستهٔ بعدی",
"open_close_current_entry" : "باز/بستن مطلب جاری",
"open_current_entry_in_new_window" : "بازکردن مطلب جاری در پنجره‌ای جدید",
"open_current_entry_in_new_window_background" : "بازکردن مطلب جاری در پنجره‌ای جدید در پس‌زمینه",
"star_unstar" : "نشانه‌دارکردن/نکردن مطلب جاری",
"mark_current_entry" : "علامت‌گذاری مطلب جاری به‌عنوان خوانده‌شده/نشده",
"mark_all_as_read" : "علامت‌گذاری تمامی مطالب به‌عنوان خوانده‌شده",
"open_in_new_tab_mark_as_read" : "باز‌کردن مطلب در سربرگ جدید و علامت‌گذاری آن به‌عنوان خوانده‌شده",
"fullscreen" : "فعال/غیرفعال‌کردن حالت تمام صفحه",
"font_size" : "افزایش/کاهش اندازهٔ قلم مدخل فعلی",
"go_to_all" : "رفتن به نمای همه",
"go_to_starred" : "رفتن به نمای ستاره داده‌شده‌ها",
"feed_search" : "ناوبری به یک اشتراک با نوشتن نام اشتراک"
}
}
}

180
src/main/app/i18n/fi.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Tallenna",
"cancel" : "Peruuta",
"delete" : "Poista",
"required" : "Pakollinen",
"download" : "Lataa",
"link" : "Linkki",
"bookmark" : "Kirjanmerkki",
"close" : "Sulje",
"tags" : "Tagit"
},
"tree" : {
"subscribe" : "Tilaa syöte",
"import" : "Tuo",
"new_category" : "Uusi kansio",
"all" : "Kaikki",
"starred" : "Tähdelliset"
},
"subscribe" : {
"feed_url" : "Syötteen osoite",
"feed_name" : "Syötteen nimi",
"category" : "Kansio"
},
"import" : {
"google_reader_prefix" : "Tuo tilaukset",
"google_reader_suffix" : "-tunnukseltasi.",
"google_download" : "Vaihtoehtoisesti voit tuoda tilaukset subscriptions.xml -tiedostolla.",
"google_download_link" : "Lataa se täältä.",
"xml_file" : "OPML-tiedosto"
},
"new_category" : {
"name" : "Nimi",
"parent" : "Yläkansio"
},
"toolbar" : {
"unread" : "Lukemattomat",
"all" : "Kaikki",
"previous_entry" : "Edellinen otsikko",
"next_entry" : "Seuraava otsikko",
"refresh" : "Päivitä",
"refresh_all" : "Pakota kaikkien syötteiden päivitys",
"sort_by_asc_desc" : "Järjestä päivämäärän mukaan nousevasti/laskevasti",
"titles_only" : "Näytä vain otsikot",
"expanded_view" : "Laajennettu näkymä",
"mark_all_as_read" : "Merkitse kaikki luetuiksi",
"mark_all_older_12_hours" : "12 tuntia vanhemmat otsikot",
"mark_all_older_day" : "Päivää vanhemmat otsikot",
"mark_all_older_week" : "Viikkoa vanhemmat otsikot",
"mark_all_older_two_weeks" : "Kahta viikkoa vanhemmat otsikot",
"settings" : "Asetukset",
"profile" : "Profiili",
"admin" : "Ylläpito",
"about" : "Tietoja",
"logout" : "Kirjaudu ulos",
"donate" : "Lahjoita"
},
"view" : {
"entry_source" : "syötteestä",
"entry_author" : "kirjoittanut",
"error_while_loading_feed" : "Virhe tilausta ladattaessa",
"keep_unread" : "Pidä lukemattomana",
"no_unread_items" : "ei sisällä lukemattomia otsikoita.",
"mark_up_to_here" : "Merkitse luetuksi tähän asti",
"search_for" : "Etsi sanoilla:",
"no_search_results" : "Ei tuloksia annetuilla hakusanoilla."
},
"feedsearch" : {
"hint" : "Kirjoita syötteen nimi...",
"help" : "Siirry syötteiden välillä nuolinäppäimillä ja valitse syöte enterillä.",
"result_prefix" : "Tilatut syötteesi:"
},
"settings" : {
"general" : {
"value" : "Yleiset",
"language" : "Kieli",
"language_contribute" : "Avusta käännösten tekemisessä.",
"show_unread" : "Näytä syötteet ja kansiot, joissa ei ole lukemattomia otsikoita",
"social_buttons" : "Näytä jakonapit",
"scroll_marks" : "Laajennetussa näkymässä otsikoiden selaaminen merkitsee ne luetuiksi"
},
"appearance" : "Ulkonäkö",
"scroll_speed" : "Vieritysnopeus otsikoiden välillä navigoidessa (millisekunneissa)",
"scroll_speed_help" : "Aseta 0 poistaaksesi vieritys käytöstä.",
"theme" : "Teema",
"submit_your_theme" : "Lähetä oma teemasi",
"custom_css" : "Oma CSS"
},
"details" : {
"feed_details" : "Tilauksen tiedot",
"url" : "Osoite",
"website" : "Sivusto",
"name" : "Nimi",
"category" : "Kansio",
"position" : "Paikka",
"last_refresh" : "Viimeisin päivitys",
"message" : "Viimeisimmän päivityksen viesti",
"next_refresh" : "Seuraava päivitys",
"queued_for_refresh" : "Jonossa päivitettäväksi",
"feed_url" : "Syötteen osoite",
"generate_api_key_first" : "Luo API-avain profiilissasi.",
"unsubscribe" : "Peruuta tilaus",
"unsubscribe_confirmation" : "Haluatko varmasti lopettaa tämän syötteen tilauksen?",
"delete_category_confirmation" : "Haluatko varmasti poistaa tämän kansion?",
"category_details" : "Kansion tiedot",
"tag_details" : "Tagin tiedot",
"parent_category" : "Yläkansio"
},
"profile" : {
"user_name" : "Käyttäjänimi",
"email" : "Sähköposti",
"change_password" : "Vaihda salasana",
"confirm_password" : "Vahvista uusi salasana",
"minimum_6_chars" : "Vähintään 6 merkkiä",
"passwords_do_not_match" : "Salasanat eivät täsmää",
"api_key" : "API-avain",
"api_key_not_generated" : "API-avainta ei ole vielä luotu",
"generate_new_api_key" : "Luo uusi API-avain",
"generate_new_api_key_info" : "Salasanan vaihtaminen luo uuden API-avaimen",
"opml_export" : "OPML vienti",
"delete_account" : "Poista tunnus",
"delete_account_confirmation" : "Haluatko varmasti poistaa tunnuksesi? Tätä ei voi perua!"
},
"about" : {
"rest_api" : {
"value" : "REST-API",
"line1" : "CommaFeed on rakennettu JAX-RS:n ja AngularJS:n avulla. REST API on myös saatavilla.",
"link_to_documentation" : "Linkki dokumentaatioon."
},
"keyboard_shortcuts" : "Näppäinoikotiet",
"version" : "CommaFeedin versio",
"line1_prefix" : "CommaFeed on avoimen lähdekoodin projekti. Lähdekoodi on saatavilla ",
"line1_suffix" : ":ssa.",
"line2_prefix" : "Jos huomaat ongelmia, ilmoita niistä ",
"line2_suffix" : "-projektin ongelmasivulla.",
"line3" : "Jos pidät CommaFeedistä, harkitse lahjoitusta kehittäjää tukeaksesi ja auttaaksesi sivuston kulujen kattamisessa.",
"line4" : "Tässä myös osoite bitcoin-lahjoituksia varten:",
"goodies" : {
"value" : "Ekstrat",
"android_app" : "Android-sovellus",
"subscribe_url" : "Tilausosoite",
"chrome_extension" : "Chrome-laajennus",
"firefox_extension" : "Firefox-laajennus",
"opera_extension" : "Opera-laajennus",
"subscribe_bookmarklet" : "Lisää tilaus -kirjanmerkki (klikkaa) ",
"subscribe_bookmarklet_asc" : "Vanhin ensiksi",
"subscribe_bookmarklet_desc" : "Uusin ensiksi",
"next_unread_bookmarklet" : "Seuraava lukematon otsikko -kirjanmerkki (raahaa kirjanmerkkipalkkiin)"
},
"translation" : {
"value" : "Kääntäminen",
"message" : "Tarvitsemme apuasi CommaFeedin kääntämiseksi.",
"link" : "Katso kuinka voit auttaa kännösten tekemisessä."
},
"announcements" : "Ilmoitukset",
"shortcuts" : {
"mouse_middleclick" : "hiiren keskinappi",
"open_next_entry" : "avaa seuraava otsikko",
"open_previous_entry" : "avaa edellinen otsikko",
"spacebar" : "välilyönti/shift+välilyönti",
"move_page_down_up" : "liikuta sivua ylös tai alas",
"focus_next_entry" : "valitse seuraava otsikko sitä avaamatta",
"focus_previous_entry" : "valitse edellinen otsikko sitä avaamatta",
"open_next_feed" : "avaa seuraava kansio tai syöte",
"open_previous_feed" : "avaa edellinen kansio tai syöte",
"open_close_current_entry" : "avaa tai sulje valittu otsikko",
"open_current_entry_in_new_window" : "avaa valittu otsikko uudessa ikkunassa",
"open_current_entry_in_new_window_background" : "avaa valittu otsikko uudessa ikkunassa taustalla",
"star_unstar" : "merkitse valittu otsikko tähdelliseksi",
"mark_current_entry" : "merkitse valittu otsikko luetuksi tai lukemattomaksi",
"mark_all_as_read" : "merkitse kaikki otsikot luetuiksi",
"open_in_new_tab_mark_as_read" : "avaa otsikko uudessa ikkunassa ja merkitse se luetuksi",
"fullscreen" : "siirry kokoruututilaan",
"font_size" : "suurenna/pienennä valitun artikkelin kirjasinkokoa",
"go_to_all" : "Siirry Kaikki-näkymään",
"go_to_starred" : "Siirry Tähdelliset-näkymään",
"feed_search" : "etsi tilaus sen nimen perusteella"
}
}
}

180
src/main/app/i18n/fr.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Enregistrer",
"cancel" : "Annuler",
"delete" : "Effacer",
"required" : "Obligatoire",
"download" : "Télécharger",
"link" : "Lien",
"bookmark" : "Favoris",
"close" : "Fermer",
"tags" : "Tags "
},
"tree" : {
"subscribe" : "S'abonner",
"import" : "Importer",
"new_category" : "Nouvelle catégorie",
"all" : "Tous",
"starred" : "Favoris"
},
"subscribe" : {
"feed_url" : "URL du flux",
"feed_name" : "Nom du flux",
"category" : "Catégorie"
},
"import" : {
"google_reader_prefix" : "Laissez-moi importer vos flux depuis votre compte ",
"google_reader_suffix" : ".",
"google_download" : "Ou alors, téléchargez votre fichier subscriptions.xml.",
"google_download_link" : "Récupérez-le ici.",
"xml_file" : "Fichier OPML"
},
"new_category" : {
"name" : "Nom",
"parent" : "Parent"
},
"toolbar" : {
"unread" : "Non-lus",
"all" : "Tous",
"previous_entry" : "Article précédent",
"next_entry" : "Article suivant",
"refresh" : "Rafraîchir",
"refresh_all" : "Force refresh all my feeds ",
"sort_by_asc_desc" : "Trier par date croissante/décroissante",
"titles_only" : "Titres uniquement",
"expanded_view" : "Vue étendue",
"mark_all_as_read" : "Tout marquer comme lu",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day" : "Articles de plus d'un jour",
"mark_all_older_week" : "Articles de plus d'une semaine",
"mark_all_older_two_weeks" : "Articles de plus d'un mois",
"settings" : "Préférences",
"profile" : "Profil",
"admin" : "Administration",
"about" : "A propos",
"logout" : "Déconnexion",
"donate" : "Faire un don"
},
"view" : {
"entry_source" : "sur",
"entry_author" : "par ",
"error_while_loading_feed" : "Erreur durant le chargement de ce flux",
"keep_unread" : "Garder non-lu",
"no_unread_items" : "n'a pas d'articles non-lus.",
"mark_up_to_here" : "Marquer comme lu jusqu'ici",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords "
},
"feedsearch" : {
"hint" : "Tapez un nom de flux",
"help" : "Utilisez la touche entrée pour sélectionner et les flèches pour naviguer",
"result_prefix" : "Vos flux:"
},
"settings" : {
"general" : {
"value" : "Général",
"language" : "Langue",
"language_contribute" : "Contribuer aux traductions",
"show_unread" : "Afficher les flux et les catégories pour lesquels tout est déjà lu",
"social_buttons" : "Afficher les boutons de partage sur réseaux sociaux",
"scroll_marks" : "En mode de lecture étendu, marquer comme lu les éléments lorsque la fenêtre descend."
},
"appearance" : "Apparence",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme" : "Thème",
"submit_your_theme" : "Soumettez votre thème.",
"custom_css" : "CSS personnelle"
},
"details" : {
"feed_details" : "Détails du flux",
"url" : "URL",
"website" : "Site web",
"name" : "Nom",
"category" : "Catégorie",
"position" : "Position",
"last_refresh" : "Dernière mise à jour",
"message" : "Last refresh message ",
"next_refresh" : "Prochaine mise à jour",
"queued_for_refresh" : "En file d'attente",
"feed_url" : "URL du flux",
"generate_api_key_first" : "Générez une clé API dans votre profil d'abord.",
"unsubscribe" : "Se désabonner",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "Détails de la catégorie",
"tag_details" : "Tag details ",
"parent_category" : "Catégorie parente"
},
"profile" : {
"user_name" : "Nom",
"email" : "E-mail",
"change_password" : "Changer de mot de passe",
"confirm_password" : "Confirmer le mot de passe",
"minimum_6_chars" : "Minimum 6 caractères",
"passwords_do_not_match" : "Les mots de passe ne correspondent pas",
"api_key" : "Clé API",
"api_key_not_generated" : "Pas encore générée",
"generate_new_api_key" : "Générer une nouvelle clé API",
"generate_new_api_key_info" : "Changer de mot de passe va générer une nouvelle clé API",
"opml_export" : "Export du fichier OPML",
"delete_account" : "Effacer le compte",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "API REST",
"line1" : "CommaFeed utilise JAX-RS et AngularJS, donc une API REST est disponible.",
"link_to_documentation" : "Lien vers la documentation."
},
"keyboard_shortcuts" : "Raccourcis clavier",
"version" : "CommaFeed version",
"line1_prefix" : "CommaFeed est un projet open-source. Les sources sont disponibles sur ",
"line1_suffix" : ".",
"line2_prefix" : "Si vous rencontrez un problème, rapportez-le sur la page du projet sur ",
"line2_suffix" : ".",
"line3" : "Si vous aimez ce projet, n'hésitez pas à faire un don pour encourager le développeur et aider à couvrir les coûts d'hébergement de la plate-forme.",
"line4" : "Pour ceux qui préfèrent Bitcoin, voici l'adresse",
"goodies" : {
"value" : "Extensions",
"android_app" : "App Android",
"subscribe_url" : "URL pour s'abonner",
"chrome_extension" : "Extension Chrome",
"firefox_extension" : "Extension Firefox",
"opera_extension" : "Extension Opera",
"subscribe_bookmarklet" : "Bookmarklet d'ajout d'abonnement",
"subscribe_bookmarklet_asc" : "Du plus ancien au plus récent",
"subscribe_bookmarklet_desc" : "Du plus récent au plus ancien",
"next_unread_bookmarklet" : "Bookmarklet vers le prochain article non-lu"
},
"translation" : {
"value" : "Traduction",
"message" : "Nous avons besoin d'aide pour traduire CommaFeed.",
"link" : "Cliquez ici pour voir comment vous pouvez nous aider."
},
"announcements" : "Annonces",
"shortcuts" : {
"mouse_middleclick" : "clic du milieu de la souris",
"open_next_entry" : "Ouvrir l'article suivant",
"open_previous_entry" : "Ouvrir l'article précédent",
"spacebar" : "espace/shift+espace",
"move_page_down_up" : "Faire descendre/monter la page",
"focus_next_entry" : "Sélectionner l'article suivant sans l'ouvrir",
"focus_previous_entry" : "Sélectionner l'article précédent sans l'ouvrir",
"open_next_feed" : "Sélectionner le flux ou la catégorie suivante",
"open_previous_feed" : "Sélectionner le flux ou la catégorie précédente",
"open_close_current_entry" : "Ouvrir/fermer l'article courant",
"open_current_entry_in_new_window" : "Ouvrir l'article courant dans une nouvelle fenêtre",
"open_current_entry_in_new_window_background" : "Ouvrir l'article courant dans une nouvelle fenêtre en arrière plan",
"star_unstar" : "Ajouter/enlever l'article courant des favoris",
"mark_current_entry" : "Marquer comme lue/non-lue l'article courant",
"mark_all_as_read" : "Marquer tous les articles comme lus",
"open_in_new_tab_mark_as_read" : "Ouvrir l'article courant dans une nouvelle fenêtre et marquer comme lu",
"fullscreen" : "Activer/désactiver le mode plein-écran",
"font_size" : "Augmenter/diminuer la taille de la police de l'article courant",
"go_to_all" : "Afficher tous les articles",
"go_to_starred" : "Afficher les articles favoris",
"feed_search" : "Naviguer vers un flux en entrant son nom"
}
}
}

180
src/main/app/i18n/gl.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Gardar",
"cancel" : "Cancelar",
"delete" : "Eliminar",
"required" : "Requerido",
"download" : "Descargar",
"link" : "Ligazón",
"bookmark" : "Marcador",
"close" : "Pechar",
"tags" : "Tags "
},
"tree" : {
"subscribe" : "Subscribir",
"import" : "Importar",
"new_category" : "Nova categoría",
"all" : "Todos",
"starred" : "Destacado"
},
"subscribe" : {
"feed_url" : "URL da fonte",
"feed_name" : "Nome da fonte",
"category" : "Categoría"
},
"import" : {
"google_reader_prefix" : "Deixame importar as fontes da túa",
"google_reader_suffix" : " conta.",
"google_download" : "Tamén podes subir un ficheiro subscriptions.xml.",
"google_download_link" : "Descárgao de aquí.",
"xml_file" : "Ficheiro OPML"
},
"new_category" : {
"name" : "Nome",
"parent" : "Pai"
},
"toolbar" : {
"unread" : "Sen Ler",
"all" : "Todos",
"previous_entry" : "Entrada Anterior",
"next_entry" : "Próxima Entrada",
"refresh" : "Actualizar",
"refresh_all" : "Force refresh all my feeds ",
"sort_by_asc_desc" : "Ordenar por data asc/desc",
"titles_only" : "Só títulos",
"expanded_view" : "Vista expandida",
"mark_all_as_read" : "Marcar todos como lidos",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day" : "Artigos anteriores a un día",
"mark_all_older_week" : "Artigos de máis de unha semana",
"mark_all_older_two_weeks" : "Artigos de máis de dúas semanas",
"settings" : "Configuración",
"profile" : "Perfil",
"admin" : "Admin",
"about" : "Sobre",
"logout" : "Pechar sesión",
"donate" : "Doar"
},
"view" : {
"entry_source" : "from ",
"entry_author" : "by ",
"error_while_loading_feed" : "Erro mentras se cargaba esta fonte",
"keep_unread" : "Gardar non lidos",
"no_unread_items" : "non ten elementos sen ler.",
"mark_up_to_here" : "Mark as read up to here ",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords "
},
"feedsearch" : {
"hint" : "Escriba unha suscrición...",
"help" : "Use a teclar retorno para seleccionar e as flechas para navegar.",
"result_prefix" : "As súas suscricións:"
},
"settings" : {
"general" : {
"value" : "Xeral",
"language" : "Idioma",
"language_contribute" : "Contribúe traducindo",
"show_unread" : "Mostrar fontes e categorías sen entradas non lidas.",
"social_buttons" : "Mostrar botóns de compartir en redes sociais.",
"scroll_marks" : "En vista expandida, o desplazamento polas entradas márcaas como lidas."
},
"appearance" : "Aspecto",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme" : "Decorado",
"submit_your_theme" : "Envíe o seu decorado",
"custom_css" : "CSS Personalizado"
},
"details" : {
"feed_details" : "Detalles de fontes",
"url" : "URL",
"website" : "Website ",
"name" : "Nome",
"category" : "Categoría",
"position" : "Position ",
"last_refresh" : "Última actualización",
"message" : "Last refresh message ",
"next_refresh" : "Próxima actualización",
"queued_for_refresh" : "En cola para actualizar",
"feed_url" : "URL da fonte",
"generate_api_key_first" : "Antes debes xerar unha chave API no teu perfil.",
"unsubscribe" : "Rematar suscripción",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "Detalles da categoría",
"tag_details" : "Tag details ",
"parent_category" : "Categoría principal"
},
"profile" : {
"user_name" : "Nome de usuario",
"email" : "Correo",
"change_password" : "Cambiar contrasinal",
"confirm_password" : "Confirmar contrasinal",
"minimum_6_chars" : "Mínimo 6 caracteres",
"passwords_do_not_match" : "Os contrasinais non coinciden no coinciden",
"api_key" : "Chave API",
"api_key_not_generated" : "Non xerado todavía",
"generate_new_api_key" : "Xerar nova chave da API",
"generate_new_api_key_info" : "Ao cambiar o contrasinal xerarase unha nova chave API",
"opml_export" : "Exportación de OPML",
"delete_account" : "Eliminar conta",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed está feito co uso de JAX-RS e AngularJS. Polo que está dispoñible un REST API.",
"link_to_documentation" : "Ligazón a documentación."
},
"keyboard_shortcuts" : "Atallos de teclado",
"version" : "CommaFeed version ",
"line1_prefix" : "CommaFeed é un proxecto de código aberto. O código está en ",
"line1_suffix" : ".",
"line2_prefix" : "Se atopas un problema, por favor informa na páxina de problemas do ",
"line2_suffix" : " do proxecto.",
"line3" : "Se che gusta este proxecto, por favor considera realizar unha doación para apoiar ao desenvolvedor e axudar a cubrir os gastos de mantemento.",
"line4" : "Para aqueles de vostedes que prefiran bitcoin, aquí está o enderezo",
"goodies" : {
"value" : "Extras",
"android_app" : "Android app ",
"subscribe_url" : "Suscribirse a URL",
"chrome_extension" : "Engadido para Chrome",
"firefox_extension" : "Engadido para Firefox",
"opera_extension" : "Engadido para Opera",
"subscribe_bookmarklet" : "Engadir bookmarklet para suscrición(click)",
"subscribe_bookmarklet_asc" : "Oldest first ",
"subscribe_bookmarklet_desc" : "Newest first ",
"next_unread_bookmarklet" : "Bookmarklet de seguinte elemento non lido (arrastre a barra de marcadores)"
},
"translation" : {
"value" : "Tradución",
"message" : "Precisamos a túa axuda para traducir CommaFeed.",
"link" : "Ver como contribuir con traducións."
},
"announcements" : "Anuncios",
"shortcuts" : {
"mouse_middleclick" : "botón central do rato",
"open_next_entry" : "abrir próxima entrada",
"open_previous_entry" : "abrir entrada anterior",
"spacebar" : "space/shift+space ",
"move_page_down_up" : "moves the page down/up ",
"focus_next_entry" : "Establecer o foco na próxima entrada sen abrila",
"focus_previous_entry" : "Establecer o foco na entrada anterior sen abrila",
"open_next_feed" : "abrir a seguinte fonte ou categoría",
"open_previous_feed" : "abrir a fonte ou categoría anterior",
"open_close_current_entry" : "abrir/pechar entrada actual",
"open_current_entry_in_new_window" : "abrir entrada actual nunha nova ventana",
"open_current_entry_in_new_window_background" : "abrir entrada actual nunha nova ventá en segundo plano",
"star_unstar" : "marcar/desmarcar a entrada actual",
"mark_current_entry" : "marcar como lida/non lida a entrada actual",
"mark_all_as_read" : "marcar todas as entradas como lidas",
"open_in_new_tab_mark_as_read" : "abrir entrada nunha nova lapela e marcar como lida",
"fullscreen" : "toggle full screen mode ",
"font_size" : "increase/decrease font size of the current entry ",
"go_to_all" : "go to the All view ",
"go_to_starred" : "go to the Starred view ",
"feed_search" : "navegue ate unha suscrición introducindo o nome da suscrición"
}
}
}

180
src/main/app/i18n/glk.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "قزنج",
"cancel" : "باطیل",
"delete" : "پاک",
"required" : "لازم",
"download" : "جیرأکش",
"link" : "خال",
"bookmark" : "بوکمارک",
"close" : "دَوَستن",
"tags" : "Tags "
},
"tree" : {
"subscribe" : "مشترک ببید",
"import" : "درینأدأن",
"new_category" : "تازه جرگه",
"all" : "همه ته مطالب",
"starred" : "ستاره‌دار"
},
"subscribe" : {
"feed_url" : "خوراکˇ نشانی",
"feed_name" : "خوراکˇ نام",
"category" : "جرگه"
},
"import" : {
"google_reader_prefix" : "بدأر تی خوراکانه حسابˇ جی",
"google_reader_suffix" : "درینأدم.",
"google_download" : "یا اونˇ جا تی subscriptions.xml پروندهٰ جیرأکش.",
"google_download_link" : "اونه ائره جیرأکش.",
"xml_file" : "اکس.ام.الˇ پرونده"
},
"new_category" : {
"name" : "نام",
"parent" : "پئر"
},
"toolbar" : {
"unread" : "نخانده",
"all" : "همه",
"previous_entry" : "قبلی",
"next_entry" : "بعدی",
"refresh" : "واج‌أری",
"refresh_all" : "Force refresh all my feeds ",
"sort_by_asc_desc" : "تاریخˇ سر دچئن",
"titles_only" : "خالی تیتران",
"expanded_view" : "واشاده نما",
"mark_all_as_read" : "همه‌ته مطالبه چاکون بخانده",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day" : "یک روز پیشترˇ مطالب",
"mark_all_older_week" : "یک هفته پیشترˇ مطالب",
"mark_all_older_two_weeks" : "چن هفته پیشترˇ مطالب",
"settings" : "تنظیم",
"profile" : "نمایه",
"admin" : "مدیریت",
"about" : "راجه‌به",
"logout" : "برین",
"donate" : "مالی ایلجار"
},
"view" : {
"entry_source" : "from ",
"entry_author" : "by ",
"error_while_loading_feed" : "حئف ببؤ! ای خوراکˇ جؤر أمأنˇ سر خطا ببؤ.",
"keep_unread" : "نخانده بدأر.",
"no_unread_items" : "نخانده مطلب دنه.",
"mark_up_to_here" : "Mark as read up to here ",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords "
},
"feedsearch" : {
"hint" : "یکته اشتراکˇ سر نویشتن...",
"help" : "دکمهٔ بازگشت برای انتخاب و دکمه‌های جهت‌دار را برای ناوبری استفاده کن.",
"result_prefix" : "تی اشتراکان:"
},
"settings" : {
"general" : {
"value" : "همگانی",
"language" : "زوان",
"language_contribute" : "واگردانˇ مئنˇ ایلجار",
"show_unread" : "تنها خوراک‌ها و دسته‌های را که دارای مطالب نخوانده هستند نمایش بده.",
"social_buttons" : "نشان‌دادن دکمه‌های اشتراک‌گذاری در شبکه‌های اجتماعی",
"scroll_marks" : "در نمای گسترش‌یافته، لغزیدن بر روی مطالب به‌عنوان نشانه‌گذاری به‌عنوان خوانده‌شده در نظر گرفته‌شوند."
},
"appearance" : "ظاهر",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme" : "پوسته",
"submit_your_theme" : "شیمه پوستهٰ اوسه کونید",
"custom_css" : "سی‌اس‌اس شخصی‌سازی‌شده"
},
"details" : {
"feed_details" : "جزئیات خوراک",
"url" : "نشانی",
"website" : "Website ",
"name" : "نام",
"category" : "جرگه",
"position" : "Position ",
"last_refresh" : "آخرین بروزرسانی",
"message" : "Last refresh message ",
"next_refresh" : "بروزرسانی بعدی",
"queued_for_refresh" : "منتظر برای بروزرسانی",
"feed_url" : "نشانی خوراک",
"generate_api_key_first" : "ابتدا یک کلید API در نمایهٔ خود ایجاد کنید.",
"unsubscribe" : "لغو اشتراک",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "جرگه جزئیات",
"tag_details" : "Tag details ",
"parent_category" : "پئرˇ جرگه"
},
"profile" : {
"user_name" : "کاربری نام",
"email" : "ایمئل",
"change_password" : "رمزه عوضأگودن",
"confirm_password" : "رمزه تأیید گودن",
"minimum_6_chars" : "ناقلن 6 کارکتر",
"passwords_do_not_match" : "رمزان کس‌به‌کسه نخانید",
"api_key" : "کلید API",
"api_key_not_generated" : "هلئه چاگوده نبؤ",
"generate_new_api_key" : "تازه کلید چاگودن API",
"generate_new_api_key_info" : "رمزه عوضأگودن API کلیده چاکونه.",
"opml_export" : "برینأدأن OPML",
"delete_account" : "کاربری حسابه پاکودن",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "کامافید بر روی JAX-RS و AngularJS ساخته‌شده‌است. به همین دلیل API REST موجود است.",
"link_to_documentation" : "خال به مستندات."
},
"keyboard_shortcuts" : "وئر زئنˇ کلیدان",
"version" : "CommaFeed version ",
"line1_prefix" : "کامافید یکته «رهاوؤت» پروژه ایسه. اینˇ تلمبارؤن",
"line1_suffix" : "ˇمئن میزبانی به.",
"line2_prefix" : "أگه مشکلی پیش بمأ پیشأکشئنˇ صفحه مئن مطرح بکونین.",
"line2_suffix" : " پروژه.",
"line3" : "أگه ای پرؤژهٰ خوش دأنین، یک مبلغی هرچی‌م کی کم ببون ای سایتˇ هزینه‌ٰن و اینˇ توسعه‌دأن‌کسˇ وأسی هدین.",
"line4" : "اوشانی کی بیت‌کؤینه ترجیح دئنن، نشانی ائره نأ.",
"goodies" : {
"value" : "علاوه‌ٰن",
"android_app" : "Android app ",
"subscribe_url" : "نشانی مئنˇ اشتراک",
"chrome_extension" : "کرؤمˇ علاوه",
"firefox_extension" : "فایرفاکسˇ علاوه",
"opera_extension" : "اؤپرا علاوه",
"subscribe_bookmarklet" : "افزودن بوک‌مارک‌لت اشتراک (با کلیک)",
"subscribe_bookmarklet_asc" : "Oldest first ",
"subscribe_bookmarklet_desc" : "Newest first ",
"next_unread_bookmarklet" : "بوک‌مارک‌لت مطلب خوانده نشدهٔ بعدی(با کشیدن و رهاکردن در نوار بوک‌مارک‌لت)"
},
"translation" : {
"value" : "واگردان",
"message" : "أمه شیمه ایلجاره کامافیدˇ واگردانˇ مئن خأییم.",
"link" : "ببدینید چوتؤ تانید واگردانˇ مئن ایلجار بکونید."
},
"announcements" : "اطلاعیه‌ٰن",
"shortcuts" : {
"mouse_middleclick" : "مؤسˇ مئنی کلیک",
"open_next_entry" : "بعدی مطلبه واگدن",
"open_previous_entry" : "قبلی مطلبه واگودن",
"spacebar" : "space/shift+space ",
"move_page_down_up" : "moves the page down/up ",
"focus_next_entry" : "بعدی مطلبˇ سر شؤن بی اینکه وابکونه",
"focus_previous_entry" : "قبلی مطلبˇ سر شؤن بی اینکه وابکونه",
"open_next_feed" : "بعدی خوراک یا جرگهٰ واگودن",
"open_previous_feed" : "قبلی خوراک یا جرگهٰ واگودن",
"open_close_current_entry" : "مطلبه واگودن/دوستن",
"open_current_entry_in_new_window" : "مطلبه تازه درجیکˇ مئن واگودن",
"open_current_entry_in_new_window_background" : "مطلبه تازه درجیکˇ مئن پس‌زمینه واگودن",
"star_unstar" : "مطلبه نشانه‌دار گودن/نگودن",
"mark_current_entry" : "مطلبه نشانه‌دار گودن کی بخانه/نخانده ایسه",
"mark_all_as_read" : "همه‌ته مطالبه نشانه بنه کی بخانده ببؤن",
"open_in_new_tab_mark_as_read" : "مطلبه تازه سرولگˇ میان واگودن و نشانه‌دار کودن به عنوانˇ بخانده",
"fullscreen" : "toggle full screen mode ",
"font_size" : "increase/decrease font size of the current entry ",
"go_to_all" : "go to the All view ",
"go_to_starred" : "go to the Starred view ",
"feed_search" : "اشتراکˇ نامه بنویس و اونه وئر بزن"
}
}
}

180
src/main/app/i18n/hu.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Mentés",
"cancel" : "Mégsem",
"delete" : "Törlés",
"required" : "Szükséges",
"download" : "Letöltés",
"link" : "Link",
"bookmark" : "Könyvjelző",
"close" : "Bezár",
"tags" : "Címkék"
},
"tree" : {
"subscribe" : "Feliratkozás",
"import" : "Importálás",
"new_category" : "Új kategória",
"all" : "Összes",
"starred" : "Csillagozott"
},
"subscribe" : {
"feed_url" : "Hírcsatorna URL",
"feed_name" : "Hírcsatorna neve",
"category" : "Kategória"
},
"import" : {
"google_reader_prefix" : "Engedd meg, hogy importáljuk a hírcsatornáidat a ",
"google_reader_suffix" : " fiókjából.",
"google_download" : "Alternatívaként, feltöltheti a subscriptions.xml fájlt.",
"google_download_link" : "Letöltheti innen.",
"xml_file" : "OPML Fájl"
},
"new_category" : {
"name" : "Név",
"parent" : "Szülő"
},
"toolbar" : {
"unread" : "Olvasatlan",
"all" : "Összes",
"previous_entry" : "Előző elem",
"next_entry" : "Következő elem",
"refresh" : "Frissítés",
"refresh_all" : "Force refresh all my feeds ",
"sort_by_asc_desc" : "Rendezés időrend szerint",
"titles_only" : "Csak cím",
"expanded_view" : "Részletes nézet",
"mark_all_as_read" : "Az összes megjelölése olvasottként",
"mark_all_older_12_hours" : "Régebbiek 12 óránál",
"mark_all_older_day" : "Régebbiek, mint egy nap",
"mark_all_older_week" : "Régebbiek, mint egy hét",
"mark_all_older_two_weeks" : "Régebbiek, mint két hét",
"settings" : "Beállítások",
"profile" : "Profil",
"admin" : "Admin",
"about" : "Névjegy",
"logout" : "Kilépés",
"donate" : "Anyagi támogatás "
},
"view" : {
"entry_source" : "forrás",
"entry_author" : "szerző",
"error_while_loading_feed" : "Hiba történt ennek a hírcsatornának a betöltésekor",
"keep_unread" : "Megtartása olvasatlanként",
"no_unread_items" : "nincsen olvasatlan eleme.",
"mark_up_to_here" : "Megjelölés olvasottnak eddig",
"search_for" : "keresés erre: ",
"no_search_results" : "Nem található semmi erre a keresett szóra"
},
"feedsearch" : {
"hint" : "Keressen a hírcsatornák között...",
"help" : "Használja a nyíl billentyűket a navigáláshoz, az enter-t a kiválasztáshoz.",
"result_prefix" : "Az ön feliratkozásai:"
},
"settings" : {
"general" : {
"value" : "Általános",
"language" : "Nyelv",
"language_contribute" : "Segítsen a fordításban",
"show_unread" : "Mutassa azokat a hírcsatornákat és kategóriákat amelyekben nincsen olvasatlan bejegyzés",
"social_buttons" : "Mutassa a közösségi oldalak megosztás gombjait",
"scroll_marks" : "Kiterjesztett nézetben, görgetéssel olvasottként jelöli meg a bejegyzést"
},
"appearance" : "Megjelenés",
"scroll_speed" : "A görgetés sebessége, amikor a cikkek között navigál (miliszekundumban)",
"scroll_speed_help" : "Írjon be 0-át a letiltáshoz",
"theme" : "Téma",
"submit_your_theme" : "Küldje el a témáját",
"custom_css" : "Saját CSS"
},
"details" : {
"feed_details" : "Hírcsatorna részletei",
"url" : "URL",
"website" : "Weboldal",
"name" : "Név",
"category" : "Kategória",
"position" : "Pozició",
"last_refresh" : "Utolsó frissítés",
"message" : "Utolsó frissítési üzenet",
"next_refresh" : "Következő frissítés",
"queued_for_refresh" : "Frissítésre vár",
"feed_url" : "Hírcsatorna URL",
"generate_api_key_first" : "A profiljában először egy API kulcsot kell generálnia.",
"unsubscribe" : "Leiratkozás",
"unsubscribe_confirmation" : "Biztos, hogy le akar iratkozni errről a csatornáról?",
"delete_category_confirmation" : "Biztos, hog törölni akarja ezt a kategóriát?",
"category_details" : "Kategória részletei",
"tag_details" : "Címke részletei",
"parent_category" : "Szülő kategória"
},
"profile" : {
"user_name" : "Felhasználói név",
"email" : "E-mail",
"change_password" : "Jelszó megváltoztatás",
"confirm_password" : "Jelszó megerősítése",
"minimum_6_chars" : "Legalább 8 karakter",
"passwords_do_not_match" : "A jelszavak nem egyeznek",
"api_key" : "API kulcs",
"api_key_not_generated" : "Még nincsen generálva",
"generate_new_api_key" : "Új API kulcs generálása",
"generate_new_api_key_info" : "A jelszó megváltoztatása új API kulcsot generál",
"opml_export" : "OPML exportálása",
"delete_account" : "Fiók törlése",
"delete_account_confirmation" : "Törli a fiókját? Innen már nincs visszatérés!"
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "A CommaFeed a JAX-RS-re és az AngularJS-re épül. Ezért a RESTA API elérhető.",
"link_to_documentation" : "Link a dokumentációhoz."
},
"keyboard_shortcuts" : "Gyorsbillentyűk",
"version" : "CommaFeed verzió",
"line1_prefix" : "A CommaFeed egy nyílt forrású projekt. A forrás megtalálható a ",
"line1_suffix" : "oldalán.",
"line2_prefix" : "Ha hibába ütközik, kérjük jelentse azt a ",
"line2_suffix" : "projekt oldalán.",
"line3" : "Ha tetszik önnek ez a szolgáltatás, akkor kérjük támogassa a fejlesztőket és, hogy fentarthassák a weboldalt.",
"line4" : "Akik jobban szeretnék az oldalt bitcon-nal támogatni, itt a cím",
"goodies" : {
"value" : "Hasznos dolgok",
"android_app" : "Android alkalmazás",
"subscribe_url" : "Feliratkozás az URL-re",
"chrome_extension" : "Chrome bővítmény",
"firefox_extension" : "Firefox kiterjesztés",
"opera_extension" : "Opera kiterjesztés",
"subscribe_bookmarklet" : "Feliratkozás bookmarklet hozzáadása (klikkeléssel)",
"subscribe_bookmarklet_asc" : "Régebbiek először",
"subscribe_bookmarklet_desc" : "Újak először",
"next_unread_bookmarklet" : "Következő olvasatlan elem bookmarklet (húzza fel a könyvjelzősávba)"
},
"translation" : {
"value" : "Fordítás",
"message" : "Segítségét kérjük a CommaFeed fordításához.",
"link" : "Nézze meg, hogyan tud segíteni ebben."
},
"announcements" : "Bejelentések ",
"shortcuts" : {
"mouse_middleclick" : "középső egérgomb ",
"open_next_entry" : "következő hír megnyitása",
"open_previous_entry" : "előző hír megnyitása",
"spacebar" : "szóköz/shift+szóköz",
"move_page_down_up" : "fel/le lépkedhet az oldalon",
"focus_next_entry" : "megnyitás nélkül fókuszál a övetkező elemre",
"focus_previous_entry" : "megnyitás nélkül fókuszál az előző elemre",
"open_next_feed" : "a következő hírcsatorna vagy kategória megnyitása",
"open_previous_feed" : "az előző hírcsatorna vagy kategória megnyitása",
"open_close_current_entry" : "a jelenlegi elem megnyitása/bezárása",
"open_current_entry_in_new_window" : "a jelenlegi elem megnyitása új ablakban",
"open_current_entry_in_new_window_background" : "a jelenlegi elem megnyitása a háttérben, új ablakban",
"star_unstar" : "hírelem csillagozása",
"mark_current_entry" : "elem megjelölése olvasottként",
"mark_all_as_read" : "az összes elem megjelölése olvasottként",
"open_in_new_tab_mark_as_read" : "elem megnyitása új fülön és megjelölése olvasottként",
"fullscreen" : "teljes képernyős mód bekapcsolása",
"font_size" : "a jelenlegi elemnél növeli/csökkenti a betűméretet",
"go_to_all" : "átkapcsol az Összes nézetre",
"go_to_starred" : "átkapcsol a Csillagozott nézetre",
"feed_search" : "név szerinti keresés a hírcsatornák között"
}
}
}

180
src/main/app/i18n/it.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Salva",
"cancel" : "Cancella",
"delete" : "Elimina",
"required" : "Required",
"download" : "Download",
"link" : "Link",
"bookmark" : "Segnalibro ",
"close" : "Chiudi",
"tags" : "Tags "
},
"tree" : {
"subscribe" : "Iscriviti",
"import" : "Importa",
"new_category" : "Nuova categoria",
"all" : "Tutto",
"starred" : "Preferiti"
},
"subscribe" : {
"feed_url" : "Feed URL",
"feed_name" : "Nome Feed",
"category" : "Categoria"
},
"import" : {
"google_reader_prefix" : "Importa i tuoi feed dal tuo ",
"google_reader_suffix" : " account.",
"google_download" : "Oppure, carica il tuo subscriptions.xml",
"google_download_link" : "Scaricalo da qui",
"xml_file" : "OPML File"
},
"new_category" : {
"name" : "Nome",
"parent" : "Parent"
},
"toolbar" : {
"unread" : "Non letti",
"all" : "Tutti",
"previous_entry" : "Precedente",
"next_entry" : "Successivo",
"refresh" : "Ricarica",
"refresh_all" : "Force refresh all my feeds ",
"sort_by_asc_desc" : "Sort by date asc/desc",
"titles_only" : "Solo titoli",
"expanded_view" : "Espandi",
"mark_all_as_read" : "Contrassegna tutto come già letto",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day" : "Elementi più vecchi di un giorno",
"mark_all_older_week" : "Elementi più vecchi di una settimana",
"mark_all_older_two_weeks" : "Elementi più vecchi di due settimane",
"settings" : "Impostazioni",
"profile" : "Profilo",
"admin" : "Admin",
"about" : "Informazioni",
"logout" : "Logout",
"donate" : "Dona"
},
"view" : {
"entry_source" : "from ",
"entry_author" : "by ",
"error_while_loading_feed" : "Si è verificato un errore, mentre caricavo il feed",
"keep_unread" : "Mantiene come da leggere",
"no_unread_items" : "Non ci sono elementi da leggere.",
"mark_up_to_here" : "Mark as read up to here ",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords "
},
"feedsearch" : {
"hint" : "Type in a subscription... ",
"help" : "Use the return key to select and arrow keys to navigate. ",
"result_prefix" : "Le tue sottoscrizioni"
},
"settings" : {
"general" : {
"value" : "Generali",
"language" : "Lingua",
"language_contribute" : "Contribuisci con le traduzioni",
"show_unread" : "Show feeds and categories with no unread entries",
"social_buttons" : "Visualizza i social button",
"scroll_marks" : "Marca come letto quando scorri"
},
"appearance" : "Appearance ",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme" : "Tema ",
"submit_your_theme" : "Sottoponi il tuo tema ",
"custom_css" : "Css modificato"
},
"details" : {
"feed_details" : "Dettagli feed",
"url" : "URL",
"website" : "Website ",
"name" : "Nome",
"category" : "Categoria",
"position" : "Posizione ",
"last_refresh" : "Ultimo aggiornamento",
"message" : "Last refresh message ",
"next_refresh" : "Next refresh ",
"queued_for_refresh" : "In attesa per l'aggiornamento ",
"feed_url" : "Feed URL",
"generate_api_key_first" : "Generate an API key in your profile first.",
"unsubscribe" : "Annulla l\"'\"iscrizione",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "Dettagli categoria",
"tag_details" : "Tag details ",
"parent_category" : "Parent category"
},
"profile" : {
"user_name" : "User name",
"email" : "E-mail",
"change_password" : "Cambia password",
"confirm_password" : "Conferma password",
"minimum_6_chars" : "Minimo 6 caratteri",
"passwords_do_not_match" : "Le password non corrispondono",
"api_key" : "API key",
"api_key_not_generated" : "Non generata ancora",
"generate_new_api_key" : "Genera una nuova chiave API",
"generate_new_api_key_info" : "Cambiando la password sarà generata una nuova chiave API",
"opml_export" : "Esporta OPML",
"delete_account" : "Elimina account",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed is built on top of JAX-RS and AngularJS. As such, a REST API is available.",
"link_to_documentation" : "Link alla documentazione."
},
"keyboard_shortcuts" : "Scorciatoie da tastiera",
"version" : "CommaFeed version ",
"line1_prefix" : "Commefeed è un progetto open-source. I codici sono hostati su ",
"line1_suffix" : ".",
"line2_prefix" : "Se hai qualche problema, segnalalo sulla pagina del ",
"line2_suffix" : " progetto.",
"line3" : "Se ti piace il progetto, prendi in considerazione una donazione per supportare lo sviluppatore e contribuire a coprire i costi di mantenenimento di questo sito on-line.",
"line4" : "Per chi preferisce Bitcoin, questo è l\"'\"indirizzo ",
"goodies" : {
"value" : "Goodies",
"android_app" : "Android app ",
"subscribe_url" : "Subscribe URL ",
"chrome_extension" : "Estenzione per Chrome ",
"firefox_extension" : "Estensione per Firefox",
"opera_extension" : "Estensione per Opera",
"subscribe_bookmarklet" : "Add subscription bookmarklet (click) ",
"subscribe_bookmarklet_asc" : "Oldest first ",
"subscribe_bookmarklet_desc" : "Newest first ",
"next_unread_bookmarklet" : "Next unread item bookmarklet (drag to bookmark bar) "
},
"translation" : {
"value" : "Traduzioni",
"message" : "Abbiamo bisogno del tuo aiuto per tradurre CommaFeed.",
"link" : "Vedi come aiutare con le traduzioni."
},
"announcements" : "Annunci",
"shortcuts" : {
"mouse_middleclick" : "mouse middleclick",
"open_next_entry" : "open next entry",
"open_previous_entry" : "open previous entry",
"spacebar" : "space/shift+space ",
"move_page_down_up" : "moves the page down/up ",
"focus_next_entry" : "set focus on next entry without opening it ",
"focus_previous_entry" : "set focus on previous entry without opening it ",
"open_next_feed" : "open next feed or category ",
"open_previous_feed" : "open previous feed or category ",
"open_close_current_entry" : "open/close current entry",
"open_current_entry_in_new_window" : "open current entry in a new window",
"open_current_entry_in_new_window_background" : "open current entry in a new window in the background ",
"star_unstar" : "star/unstar current entry",
"mark_current_entry" : "mark as read/unread current entry",
"mark_all_as_read" : "mark all entries as read",
"open_in_new_tab_mark_as_read" : "open entry in new tab and mark as read",
"fullscreen" : "toggle full screen mode ",
"font_size" : "increase/decrease font size of the current entry ",
"go_to_all" : "go to the All view ",
"go_to_starred" : "go to the Starred view ",
"feed_search" : "navigate to a subscription by entering the subscription name "
}
}
}

180
src/main/app/i18n/ja.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "保存",
"cancel" : "取り消し",
"delete" : "削除",
"required" : "Required",
"download" : "ダウンロード",
"link" : "リンク",
"bookmark" : "ブックマーク",
"close" : "閉じる",
"tags" : "タグ"
},
"tree" : {
"subscribe" : "購読",
"import" : "インポート",
"new_category" : "新しいカテゴリー",
"all" : "全て",
"starred" : "スター付"
},
"subscribe" : {
"feed_url" : "フィードURL",
"feed_name" : "フィード名",
"category" : "カテゴリー"
},
"import" : {
"google_reader_prefix" : "Googleアカウントからフィードを",
"google_reader_suffix" : "インポートします。",
"google_download" : "または、お持ちのsubscriptions.xmlファイルをアップロードします。",
"google_download_link" : "このリンクからダウンロードして下さい。",
"xml_file" : "OPMLファイル"
},
"new_category" : {
"name" : "名前",
"parent" : "親カテゴリー"
},
"toolbar" : {
"unread" : "未読",
"all" : "全て",
"previous_entry" : "前のエントリー",
"next_entry" : "次のエントリー",
"refresh" : "更新",
"refresh_all" : "全てのフィードを更新",
"sort_by_asc_desc" : "昇順/降順にソート",
"titles_only" : "タイトルのみ",
"expanded_view" : "拡張ビュー",
"mark_all_as_read" : "全て既読にする",
"mark_all_older_12_hours" : "12時間以上前のアイテム",
"mark_all_older_day" : "前日より前のアイテム",
"mark_all_older_week" : "1週間以上前のアイテム",
"mark_all_older_two_weeks" : "2週間以上前のアイテム",
"settings" : "設定",
"profile" : "Profile",
"admin" : "管理者",
"about" : "About",
"logout" : "ログアウト",
"donate" : "寄付"
},
"view" : {
"entry_source" : " より ",
"entry_author" : " 著者 ",
"error_while_loading_feed" : "フィード読み込み中にエラーが発生しました。",
"keep_unread" : "未読として保持",
"no_unread_items" : "未読アイテムはありません。",
"mark_up_to_here" : "ここまで既読",
"search_for" : "検索: ",
"no_search_results" : "検索結果はありません。"
},
"feedsearch" : {
"hint" : "購読フィードを入力...",
"help" : "Enterキーで選択、矢印キーで移動します。",
"result_prefix" : "見つかった購読フィード:"
},
"settings" : {
"general" : {
"value" : "一般",
"language" : "言語",
"language_contribute" : "翻訳に貢献する",
"show_unread" : "未読エントリーのないフィードとカテゴリーを表示",
"social_buttons" : "共有ボタンを表示",
"scroll_marks" : "拡張ビューではエントリーのスクロールで既読にする"
},
"appearance" : "外観",
"scroll_speed" : "エントリー間のスクロールスピード(ミリ秒)",
"scroll_speed_help" : "0に設定すると無効になります",
"theme" : "テーマ",
"submit_your_theme" : "テーマを登録する",
"custom_css" : "カスタムCSS"
},
"details" : {
"feed_details" : "フィードの詳細",
"url" : "URL",
"website" : "Webサイト",
"name" : "名前",
"category" : "カテゴリー",
"position" : "位置",
"last_refresh" : "最終更新",
"message" : "最終更新メッセージ",
"next_refresh" : "次回更新",
"queued_for_refresh" : "更新キュー",
"feed_url" : "フィードURL",
"generate_api_key_first" : "最初にあなたのAPIキーを生成して下さい。",
"unsubscribe" : "購読解除",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "カテゴリー詳細",
"tag_details" : "タグ詳細",
"parent_category" : "親カテゴリー"
},
"profile" : {
"user_name" : "ユーザ名",
"email" : "E-mail",
"change_password" : "パスワードの変更",
"confirm_password" : "変更パスワードの確認",
"minimum_6_chars" : "6文字以上",
"passwords_do_not_match" : "パスワードが一致しません",
"api_key" : "APIキー",
"api_key_not_generated" : "APIキーが生成されていません",
"generate_new_api_key" : "新しいAPIキーを生成",
"generate_new_api_key_info" : "パスワードの変更は新しいAPIキーが生成されます",
"opml_export" : "OPMLエクスポート",
"delete_account" : "アカウント削除",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeedはJAX-RSとAngularJSを使用しているので、REST APIも利用可能です。",
"link_to_documentation" : "ドキュメントへのリンク"
},
"keyboard_shortcuts" : "キーボードショートカット",
"version" : "CommaFeedバージョン",
"line1_prefix" : "CommaFeedはオープンソースプロジェクトです。ソースは",
"line1_suffix" : "にホスティングされています。",
"line2_prefix" : "もし問題を登録したい場合、",
"line2_suffix" : "プロジェクトのissuesページに報告して下さい。",
"line3" : "このプロジェクトを気に入った場合、開発者やWebサイトの運営コストをサポートするための寄付を検討して下さいね。",
"line4" : "Bitcoinなら寄付できる方、アドレスはこちらです。",
"goodies" : {
"value" : "Goodies",
"android_app" : "Androidアプリ",
"subscribe_url" : "購読URL",
"chrome_extension" : "Chrome拡張",
"firefox_extension" : "Firefox拡張",
"opera_extension" : "Opera拡張",
"subscribe_bookmarklet" : "購読ブックマークレットを追加(クリック)",
"subscribe_bookmarklet_asc" : "古い順",
"subscribe_bookmarklet_desc" : "新しい順",
"next_unread_bookmarklet" : "次の未読アイテムブックマークレット(ブックマークバーへドラッグ)"
},
"translation" : {
"value" : "翻訳",
"message" : "CommaFeedの翻訳に助けが必要です",
"link" : "どうやって翻訳に貢献できるか見て下さい。"
},
"announcements" : "Announcements",
"shortcuts" : {
"mouse_middleclick" : "中クリック",
"open_next_entry" : "次のエントリーを開く",
"open_previous_entry" : "前のエントリーを開く",
"spacebar" : "space/shift+space",
"move_page_down_up" : "ページ移動",
"focus_next_entry" : "次のエントリーを開かずにフォーカス移動",
"focus_previous_entry" : "前のエントリーを開かずにフォーカス移動",
"open_next_feed" : "次のフィード/カテゴリーを開く",
"open_previous_feed" : "前のフィード/カテゴリーを開く",
"open_close_current_entry" : "現在のエントリーを開く/閉じる",
"open_current_entry_in_new_window" : "現在のエントリーを新しいウィンドウで開く",
"open_current_entry_in_new_window_background" : "現在のエントリーを新しいバックグラウンドウィンドウで開く",
"star_unstar" : "現在のエントリーにスターを付ける/解除する",
"mark_current_entry" : "現在のエントリーを既読/未読にする",
"mark_all_as_read" : "全エントリーを既読にする",
"open_in_new_tab_mark_as_read" : "エントリーを既読にして新しいタブで開く",
"fullscreen" : "フルスクリーントグル",
"font_size" : "現在のエントリーのフォントサイズを大きく/小さくする",
"go_to_all" : "All viewに変更する",
"go_to_starred" : "スター付きviewに変更する",
"feed_search" : "購読画面(subscription nameの入力)に移動する"
}
}
}

180
src/main/app/i18n/ko.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "저장",
"cancel" : "취소",
"delete" : "삭제",
"required" : "필수",
"download" : "Download ",
"link" : "Link ",
"bookmark" : "Bookmark ",
"close" : "Close ",
"tags" : "Tags "
},
"tree" : {
"subscribe" : "구독",
"import" : "임포트",
"new_category" : "새로운 카테고리",
"all" : "전체",
"starred" : "스타"
},
"subscribe" : {
"feed_url" : "피드 URL",
"feed_name" : "피드 이름",
"category" : "카테로기"
},
"import" : {
"google_reader_prefix" : "당신의 Google Reader",
"google_reader_suffix" : " 에서 피드들을 가져오겠습니다.",
"google_download" : "아니면, subscription.xml 파일을 업로드 해주세요.",
"google_download_link" : "다운로드 링크",
"xml_file" : "OPML File"
},
"new_category" : {
"name" : "이름",
"parent" : "카테고리 주소로 가기"
},
"toolbar" : {
"unread" : "안읽음",
"all" : "전체",
"previous_entry" : "Previous entry ",
"next_entry" : "Next entry ",
"refresh" : "리프래쉬",
"refresh_all" : "Force refresh all my feeds ",
"sort_by_asc_desc" : "Sort by date asc/desc ",
"titles_only" : "Titles only ",
"expanded_view" : "Expanded view ",
"mark_all_as_read" : "읽음표시",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day" : "Items older than a day ",
"mark_all_older_week" : "Items older than a week ",
"mark_all_older_two_weeks" : "Items older than two weeks ",
"settings" : "설정",
"profile" : "프로필",
"admin" : "괸리자",
"about" : "더보기",
"logout" : "로그아웃",
"donate" : "기부하기"
},
"view" : {
"entry_source" : "from ",
"entry_author" : "by ",
"error_while_loading_feed" : "피드로딩중 에러",
"keep_unread" : "안읽은것 저장",
"no_unread_items" : " 읽지않은 항목이 없읍니다.",
"mark_up_to_here" : "Mark as read up to here ",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords "
},
"feedsearch" : {
"hint" : "Type in a subscription... ",
"help" : "Use the return key to select and arrow keys to navigate. ",
"result_prefix" : "Your subscriptions: "
},
"settings" : {
"general" : {
"value" : "일반",
"language" : "일반 언어",
"language_contribute" : "번역 도움하기",
"show_unread" : "안읽은 항목들이 있는 피드와 카테고리 보여주기",
"social_buttons" : "소셜미디아 버튼들 보여주기",
"scroll_marks" : "Expanded View에서 스크롤하면 항목들을 읽음으로 저장하기"
},
"appearance" : "Appearance ",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme" : "Theme ",
"submit_your_theme" : "Submit your theme ",
"custom_css" : "커스톰 CSS"
},
"details" : {
"feed_details" : "피드 세부",
"url" : "유알엘",
"website" : "Website ",
"name" : "이름",
"category" : "카테고리",
"position" : "Position ",
"last_refresh" : "마지막 리프래쉬",
"message" : "Last refresh message ",
"next_refresh" : "Next refresh ",
"queued_for_refresh" : "Queued for refresh ",
"feed_url" : "피드 유알엘",
"generate_api_key_first" : "당신의 프로필을 위해 API Key를 먼저 생성하세요.",
"unsubscribe" : "주소 삭제",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "카테고리 세부",
"tag_details" : "Tag details ",
"parent_category" : "부모 카테고리"
},
"profile" : {
"user_name" : "사용자 이름",
"email" : "이메일",
"change_password" : "비밀번호변경",
"confirm_password" : "비밀번호확인",
"minimum_6_chars" : "최소로 6자문자가 필요합니다.",
"passwords_do_not_match" : "비밀번호가 일치하지 않습니다.",
"api_key" : "API key",
"api_key_not_generated" : "아직 API Key가 생성되지 않았습니다.",
"generate_new_api_key" : "API Key 생성하기",
"generate_new_api_key_info" : "비밀번호를 변경하면 새로운 API Key가 생성됩니다.",
"opml_export" : "OPML export ",
"delete_account" : "프로필삭제",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed는 JAX-RS하고 AngularJS를 이용해서 만들었습니다. 그렇기 때문에 REST API를 사용할수있습니다.",
"link_to_documentation" : "문서 링크."
},
"keyboard_shortcuts" : "단축기",
"version" : "CommaFeed version ",
"line1_prefix" : "CommaFeed는 오픈 소스프로젝트입니다. 소스는",
"line1_suffix" : "에 있습니다.",
"line2_prefix" : "문제가 발생하는 경우",
"line2_suffix" : " 프로젝트 문제페이지에 보고하십시요.",
"line3" : "이 프로젝트를 좋아하시면 개발자를 지원하고 웹사이트 유지용비를 충당하는 데 도움이되는 기부금을 고려하시기 바랍니다.",
"line4" : "For those of you who prefer bitcoin, here is the address ",
"goodies" : {
"value" : "Goodies",
"android_app" : "Android app ",
"subscribe_url" : "Subscribe URL ",
"chrome_extension" : "Chrome extension ",
"firefox_extension" : "Firefox extension ",
"opera_extension" : "Opera extension ",
"subscribe_bookmarklet" : "Add subscription bookmarklet (click) ",
"subscribe_bookmarklet_asc" : "Oldest first ",
"subscribe_bookmarklet_desc" : "Newest first ",
"next_unread_bookmarklet" : "Next unread item bookmarklet (drag to bookmark bar) "
},
"translation" : {
"value" : "번역",
"message" : "CommaFeed를 번역할려면 당신의 도움이 필요합니다.",
"link" : "번역에 기여하기"
},
"announcements" : "공지",
"shortcuts" : {
"mouse_middleclick" : "마우시 미들클릭",
"open_next_entry" : "다음 항목 열기",
"open_previous_entry" : "이전 항목 열기",
"spacebar" : "space/shift+space ",
"move_page_down_up" : "moves the page down/up ",
"focus_next_entry" : "set focus on next entry without opening it ",
"focus_previous_entry" : "set focus on previous entry without opening it ",
"open_next_feed" : "open next feed or category ",
"open_previous_feed" : "open previous feed or category ",
"open_close_current_entry" : "현재 항목 열기/닫기",
"open_current_entry_in_new_window" : "새 창에서 현재 항목열기",
"open_current_entry_in_new_window_background" : "open current entry in a new window in the background ",
"star_unstar" : "현재 항목 스타/스타제거",
"mark_current_entry" : "현재 항목 읽음/안읽음 표시",
"mark_all_as_read" : "모든 항목 읽음으로 표시",
"open_in_new_tab_mark_as_read" : "읽음으로 표시하고 새로운 탭에서 열기",
"fullscreen" : "toggle full screen mode ",
"font_size" : "increase/decrease font size of the current entry ",
"go_to_all" : "go to the All view ",
"go_to_starred" : "go to the Starred view ",
"feed_search" : "navigate to a subscription by entering the subscription name "
}
}
}

180
src/main/app/i18n/ms.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Save",
"cancel" : "Batal",
"delete" : "Padam",
"required" : "Wajib",
"download" : "Muat turun",
"link" : "Pautan",
"bookmark" : "Bookmark",
"close" : "Tutup",
"tags" : "Tags "
},
"tree" : {
"subscribe" : "Langgan",
"import" : "Import",
"new_category" : "Kategori Baru",
"all" : "Semua",
"starred" : "Dibintang"
},
"subscribe" : {
"feed_url" : "URL Feed",
"feed_name" : "Nama Feed",
"category" : "Kategori"
},
"import" : {
"google_reader_prefix" : "Import feed dari ",
"google_reader_suffix" : " akaun.",
"google_download" : "Sebagai alternatif, muat naik fail subscriptions.xml anda.",
"google_download_link" : "Muat turun dari sini",
"xml_file" : "Fail OPML"
},
"new_category" : {
"name" : "Nama",
"parent" : "Induk"
},
"toolbar" : {
"unread" : "Belum Dibaca",
"all" : "Semua",
"previous_entry" : "Sebelumnya",
"next_entry" : "Selepasnya",
"refresh" : "Refresh",
"refresh_all" : "Force refresh all my feeds ",
"sort_by_asc_desc" : "Aturkan mengikut tarikh (baru/lama)",
"titles_only" : "Tajuk sahaja",
"expanded_view" : "Wide view",
"mark_all_as_read" : "Tanda kesemuanya telah dibaca",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day" : "Lebih lama daripada sehari",
"mark_all_older_week" : "Lebih lama daripada seminggu",
"mark_all_older_two_weeks" : "Lebih lama daripada dua minggu",
"settings" : "Setting",
"profile" : "Profil",
"admin" : "Admin",
"about" : "About",
"logout" : "Logout",
"donate" : "Derma"
},
"view" : {
"entry_source" : "from ",
"entry_author" : "oleh ",
"error_while_loading_feed" : "Kesilapan semasa memuat turun feed ini",
"keep_unread" : "Simpan tidak dibaca",
"no_unread_items" : "tiada item yang belum dibaca.",
"mark_up_to_here" : "Mark as read up to here ",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords "
},
"feedsearch" : {
"hint" : "Taipkan langganan...",
"help" : "Guna kekunci Return untuk membuat pilihan dan kekunci arah untuk menavigasi.",
"result_prefix" : "Langganan anda:"
},
"settings" : {
"general" : {
"value" : "Setting am",
"language" : "Bahasa",
"language_contribute" : "Sumbang penterjemahan",
"show_unread" : "Tunjuk semua feed dan kategori yang telah dibaca",
"social_buttons" : "Tunjuk social sharing",
"scroll_marks" : "Dalam wide view, tanda item dibaca ketika scrolling"
},
"appearance" : "Rupa",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme" : "Tema",
"submit_your_theme" : "Muat naik tema anda",
"custom_css" : "Custom CSS"
},
"details" : {
"feed_details" : "Butir-butir Feed",
"url" : "URL",
"website" : "Website ",
"name" : "Nama",
"category" : "Kategori",
"position" : "Posisi",
"last_refresh" : "Refresh terakhir",
"message" : "Last refresh message ",
"next_refresh" : "Refresh seterusnya",
"queued_for_refresh" : "Diaturkan untuk refresh",
"feed_url" : "URL Feed",
"generate_api_key_first" : "Janakan API key dalam profil anda dahulu.",
"unsubscribe" : "Hentikan langganan",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "Butir-butir kategori",
"tag_details" : "Tag details ",
"parent_category" : "Kategori induk"
},
"profile" : {
"user_name" : "User name",
"email" : "E-mel",
"change_password" : "Tukar kata laluan",
"confirm_password" : "Sahkan kata laluan",
"minimum_6_chars" : "Minimum 6 huruf",
"passwords_do_not_match" : "Kata laluan tidak sama",
"api_key" : "API key",
"api_key_not_generated" : "Belum dijana",
"generate_new_api_key" : "Jana API key baru",
"generate_new_api_key_info" : "Pertukaran kata laluan akan menjanakan API key yang baru",
"opml_export" : "Export OPML",
"delete_account" : "Padam akaun",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed diaturcarakan dengan JAX-RS dan AngularJS. Oleh itu, REST API boleh didapati.",
"link_to_documentation" : "Pautan ke dokumentasi."
},
"keyboard_shortcuts" : "Pintasan papan kekunci",
"version" : "CommaFeed version ",
"line1_prefix" : "CommaFeed adalah projek open-source. Sources are berada di ",
"line1_suffix" : ".",
"line2_prefix" : "Jika anda menghadapi masalah, sila laporkan di halaman isu-isu di ",
"line2_suffix" : " projek.",
"line3" : "Jika anda suka projek ini, anda boleh menbuat dermaan kepada pengaturcara untuk membantu menampung kos laman web ini.",
"line4" : "Jika anda guna bitcoin, halamannya adalah ",
"goodies" : {
"value" : "Goodies",
"android_app" : "Android app",
"subscribe_url" : "URL melanggan",
"chrome_extension" : "Chrome extension",
"firefox_extension" : "Firefox extension",
"opera_extension" : "Opera extension",
"subscribe_bookmarklet" : "Jana bookmarklet langganan (klik)",
"subscribe_bookmarklet_asc" : "Oldest first ",
"subscribe_bookmarklet_desc" : "Newest first ",
"next_unread_bookmarklet" : "Item bookmarklet yang belum dibaca seterusnya (seret ke bookmark bar)"
},
"translation" : {
"value" : "Terjemahan",
"message" : "Kami perlukan bantuan anda untuk menterjemahkan CommaFeed.",
"link" : "Bagaimana mengyumbang penterjemahan."
},
"announcements" : "Pengumuman",
"shortcuts" : {
"mouse_middleclick" : "Klik tengah",
"open_next_entry" : "buka item seterusya",
"open_previous_entry" : "buka item sebelumnya",
"spacebar" : "space/shift+space",
"move_page_down_up" : "Gerak halaman ke bawah/atas",
"focus_next_entry" : "fokus kepada item seterusnya tanpa membuka",
"focus_previous_entry" : "fokus kepada item sebelumnya tanpa membuka",
"open_next_feed" : "buka feed atau kategori seterusnya",
"open_previous_feed" : "buka feed atau kategori sebelumnya",
"open_close_current_entry" : "buka/tutup entry kini",
"open_current_entry_in_new_window" : "buka entry kini di window yang baru",
"open_current_entry_in_new_window_background" : "buka entry kini di window baru di latar belakang",
"star_unstar" : "bintang/nyah-bintang entry kini",
"mark_current_entry" : "tanda entry kini telah dibaca/belum dibaca",
"mark_all_as_read" : "tanda semua entry telah dibaca",
"open_in_new_tab_mark_as_read" : "buka entry di tab baru dan tanda telah dibaca",
"fullscreen" : "toggle mod skrin penuh",
"font_size" : "kecil/besar fon entry kini",
"go_to_all" : "go to the All view ",
"go_to_starred" : "go to the Starred view ",
"feed_search" : "pergi ke langganan dengan nama langganan"
}
}
}

180
src/main/app/i18n/nb.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Lagre",
"cancel" : "Avbryt",
"delete" : "Slett",
"required" : "Påkrevd",
"download" : "Last ned",
"link" : "Lenke",
"bookmark" : "Bokmerke",
"close" : "Lukk",
"tags" : "Tags "
},
"tree" : {
"subscribe" : "Abonner",
"import" : "Importer",
"new_category" : "Ny kategori",
"all" : "Alle",
"starred" : "Merkede artikler"
},
"subscribe" : {
"feed_url" : "URL for abonnement",
"feed_name" : "Abonnementsnavn",
"category" : "Kategori"
},
"import" : {
"google_reader_prefix" : "La meg importere dine abonnementer fra din",
"google_reader_suffix" : " bruker.",
"google_download" : "Alternativt, last opp din egen subscriptions.xml-fil.",
"google_download_link" : "Last ned herfra.",
"xml_file" : "OPML-fil"
},
"new_category" : {
"name" : "Navn",
"parent" : "Overordnet"
},
"toolbar" : {
"unread" : "Uleste",
"all" : "Alle",
"previous_entry" : "Forrige artikkel",
"next_entry" : "Neste artikkel",
"refresh" : "Oppdater",
"refresh_all" : "Force refresh all my feeds ",
"sort_by_asc_desc" : "Sorter etter dato ny/gammel",
"titles_only" : "Kun titler",
"expanded_view" : "Utvidet visning",
"mark_all_as_read" : "Merk alle som lest",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day" : "Artikler eldre enn én dag",
"mark_all_older_week" : "Artikler eldre enn én uke",
"mark_all_older_two_weeks" : "Artikler eldre enn to uker",
"settings" : "Innstillinger",
"profile" : "Profil",
"admin" : "Admin",
"about" : "Om",
"logout" : "Logg ut",
"donate" : "Doner"
},
"view" : {
"entry_source" : "from ",
"entry_author" : "by ",
"error_while_loading_feed" : "Feil under lasting av artikkel",
"keep_unread" : "Behold som ulest",
"no_unread_items" : "har ingen uleste artikler.",
"mark_up_to_here" : "Mark as read up to here ",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords "
},
"feedsearch" : {
"hint" : "Skriv inn et abonnement...",
"help" : "Bruk entertasten for å velge og piltastene for å navigere.",
"result_prefix" : "Dine abonnementer:"
},
"settings" : {
"general" : {
"value" : "Generelt",
"language" : "Språk",
"language_contribute" : "Bidra med oversettelser",
"show_unread" : "Vis abonnementer og kategorier uten nye artikler",
"social_buttons" : "Vis delingsknapper",
"scroll_marks" : "I utvidet visning, merk artikler som leste når du blar deg forbi dem."
},
"appearance" : "Utseende",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme" : "Drakt",
"submit_your_theme" : "Legg til egen drakt",
"custom_css" : "Egendefinert CSS"
},
"details" : {
"feed_details" : "Abonnementsdetaljer",
"url" : "URL",
"website" : "Website ",
"name" : "Navn",
"category" : "Kategori",
"position" : "Posisjon",
"last_refresh" : "Siste oppdatering",
"message" : "Last refresh message ",
"next_refresh" : "Neste oppdatering",
"queued_for_refresh" : "I kø for oppdatering",
"feed_url" : "URL for abonnement",
"generate_api_key_first" : "Generer en API-nøkkel under profilinnstillinger først.",
"unsubscribe" : "Avslutt abonnement",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "Kategoridetaljer",
"tag_details" : "Tag details ",
"parent_category" : "Overordnet kategori"
},
"profile" : {
"user_name" : "Brukernavn",
"email" : "E-post",
"change_password" : "Endre passord",
"confirm_password" : "Bekreft passord",
"minimum_6_chars" : "Minimum 6 tegn",
"passwords_do_not_match" : "Passordene er ikke like",
"api_key" : "API-nøkkel",
"api_key_not_generated" : "Har ikke blitt generert",
"generate_new_api_key" : "Generer ny API-nøkkel",
"generate_new_api_key_info" : "Endring av passord vil generere en ny API-nøkkel",
"opml_export" : "OPML-eksport",
"delete_account" : "Slett bruker",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed er bygget på toppen av JAX-RS og AngularJS. På grunn av dette er REST API tilgjengelig.",
"link_to_documentation" : "Lenke til dokumentasjon."
},
"keyboard_shortcuts" : "Hurtigtaster",
"version" : "CommaFeed version ",
"line1_prefix" : "CommaFeed er et prosjekt med åpen kildekode. Kildekoden er tilgjengelig på ",
"line1_suffix" : ".",
"line2_prefix" : "Vis du oppdager en feil eller et problem, rapporter det på ",
"line2_suffix" : " siden til prosjekt.",
"line3" : "Dersom du liker dette prosjektet, kan du vurdere en donasjon for støtte utvikleren, og bidra med å dekke kostnadene til å drifte nettsiden.",
"line4" : "For de som foretrekker bitcoin, her er adressa",
"goodies" : {
"value" : "Godsaker",
"android_app" : "Android app ",
"subscribe_url" : "Abonner URL",
"chrome_extension" : "Chrome-utvidelse",
"firefox_extension" : "Firefox-utvidelse",
"opera_extension" : "Opera-utvidelse",
"subscribe_bookmarklet" : "Nytt abonnement-bokmerkeprogram (klikk)",
"subscribe_bookmarklet_asc" : "Oldest first ",
"subscribe_bookmarklet_desc" : "Newest first ",
"next_unread_bookmarklet" : "Neste uleste artikkel-bokmerkeprogram (dra til bokmerkemenyen)"
},
"translation" : {
"value" : "Oversettelse",
"message" : "Vi trenger din hjelp til å oversette CommaFeed.",
"link" : "Se hvordan du kan hjelpe til med oversettelser."
},
"announcements" : "Kunngjøringer",
"shortcuts" : {
"mouse_middleclick" : "midtre museknapp/musehjulet",
"open_next_entry" : "åpne neste artikkel",
"open_previous_entry" : "åpne forrige artikkel",
"spacebar" : "space/shift+space ",
"move_page_down_up" : "moves the page down/up ",
"focus_next_entry" : "sett fokus på neste artikkel uten å åpne den",
"focus_previous_entry" : "sett fokus på forrige artikkel uten å åpne den",
"open_next_feed" : "åpne neste abonnement eller kategori",
"open_previous_feed" : "åpne forrige abonnement eller kategori",
"open_close_current_entry" : "åpne/lukke gjeldende artikkel",
"open_current_entry_in_new_window" : "åpne gjeldende artikkel i et nytt vindu",
"open_current_entry_in_new_window_background" : "åpne gjeldende artikkel i et nytt bakgrunnsvindu",
"star_unstar" : "legg til stjerne/fjern stjerne fra gjeldende artikkel",
"mark_current_entry" : "merk gjeldende artikkel som lest/ulest",
"mark_all_as_read" : "merk alle artikler som lest",
"open_in_new_tab_mark_as_read" : "åpne artikkel i ny fane og merk som lest",
"fullscreen" : "toggle full screen mode ",
"font_size" : "increase/decrease font size of the current entry ",
"go_to_all" : "go to the All view ",
"go_to_starred" : "go to the Starred view ",
"feed_search" : "naviger til et abonnement ved å skrive inn abonnementsnavnet"
}
}
}

180
src/main/app/i18n/nl.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Opslaan",
"cancel" : "Annuleren",
"delete" : "Verwijderen",
"required" : "Verplicht",
"download" : "Download",
"link" : "Link",
"bookmark" : "Bookmark",
"close" : "Sluiten ",
"tags" : "Tags "
},
"tree" : {
"subscribe" : "Abonneer",
"import" : "Importeer",
"new_category" : "Nieuwe categorie",
"all" : "Alles",
"starred" : "Favorieten"
},
"subscribe" : {
"feed_url" : "Feed URL",
"feed_name" : "Feed naam",
"category" : "Categorie"
},
"import" : {
"google_reader_prefix" : "Laat je feeds importeren vanuit jouw",
"google_reader_suffix" : " account.",
"google_download" : "Als alternatief kun je je subscriptions.xml bestand uploaden.",
"google_download_link" : "Download het hier.",
"xml_file" : "OPML Bestand"
},
"new_category" : {
"name" : "Naam",
"parent" : "Parent"
},
"toolbar" : {
"unread" : "Ongelezen",
"all" : "Alles",
"previous_entry" : "Vorig artikel",
"next_entry" : "Volgend artikel",
"refresh" : "Vernieuwen",
"refresh_all" : "Force refresh all my feeds ",
"sort_by_asc_desc" : "Sorteer op datum opl/afl",
"titles_only" : "Alleen titels",
"expanded_view" : "Uitgebreide weergave",
"mark_all_as_read" : "Markeer alles als gelezen",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day" : "Artikelen ouder dan een dag",
"mark_all_older_week" : "Artikelen ouder dan een week",
"mark_all_older_two_weeks" : "Artikelen ouder dan twee weken",
"settings" : "Instellingen",
"profile" : "Profiel",
"admin" : "Administratie",
"about" : "Over ons",
"logout" : "Log uit",
"donate" : "Doneer"
},
"view" : {
"entry_source" : "van",
"entry_author" : "door",
"error_while_loading_feed" : "Fout tijdens het laden van de feed",
"keep_unread" : "Behoud ongelezen",
"no_unread_items" : "Heeft geen ongelezen artikelen",
"mark_up_to_here" : "Markeer tot hier als gelezen",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords "
},
"feedsearch" : {
"hint" : "Type een abonnement in... ",
"help" : "Gebruik Enter om te selecteren en de pijltjestoetsen om te navigeren.",
"result_prefix" : "Jouw abonnementen:"
},
"settings" : {
"general" : {
"value" : "Algemeen",
"language" : "Taal",
"language_contribute" : "Draag bij met vertalingen",
"show_unread" : "Laat feeds en categorieën zonder ongelezen artikelen zien",
"social_buttons" : "Laat Social Media knoppen zien",
"scroll_marks" : "Markeer artikelen als gelezen, wanneer je er doorheen scrollt"
},
"appearance" : "Uiterlijk",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme" : "Thema",
"submit_your_theme" : "Stuur thema in",
"custom_css" : "Custom CSS"
},
"details" : {
"feed_details" : "Feed details",
"url" : "URL",
"website" : "Website",
"name" : "Naam",
"category" : "Categorie",
"position" : "Positie",
"last_refresh" : "Laatste vernieuwing",
"message" : "Last refresh message ",
"next_refresh" : "Volgende vernieuwing",
"queued_for_refresh" : "In wachtrij voor vernieuwing",
"feed_url" : "Feed URL",
"generate_api_key_first" : "Genereer eerst een API sleutel in je profiel.",
"unsubscribe" : "Abonnement opzeggen",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "Categorie details",
"tag_details" : "Tag details ",
"parent_category" : "Bovenliggende categorie"
},
"profile" : {
"user_name" : "Gebruikersnaam",
"email" : "E-mail",
"change_password" : "Verander wachtwoord",
"confirm_password" : "Bevestig wachtwoord",
"minimum_6_chars" : "Minimaal 6 tekens",
"passwords_do_not_match" : "Wachtwoorden komen niet overeen",
"api_key" : "API sleutel",
"api_key_not_generated" : "Nog niet gegenereerd",
"generate_new_api_key" : "Genereer nieuwe API sleutel",
"generate_new_api_key_info" : "Het veranderen van het wachtwoord genereert een nieuwe API sleutel",
"opml_export" : "OPML export",
"delete_account" : "Verwijder account",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed is gebouwd op basis van JAX-RS en AngularJS. Als zodanig is er een REST API beschikbaar.",
"link_to_documentation" : "Link naar de documentatie"
},
"keyboard_shortcuts" : "Sneltoetsen",
"version" : "CommaFeed version ",
"line1_prefix" : "CommaFeed is een open-source project. Bronnen worden gehost op ",
"line1_suffix" : ".",
"line2_prefix" : "Als je een probleem tegenkomt, rapporteer dit dan a.u.b. op de Issues pagina van het ",
"line2_suffix" : " project.",
"line3" : "Als je dit project leuk vindt, overweeg dan te doneren om de ontwikkelaars te ondersteunen en hosting kosten te drukken.",
"line4" : "Voor degenen die liever bitcoin gebruiken, hier is het adres",
"goodies" : {
"value" : "Goodies",
"android_app" : "Android app",
"subscribe_url" : "Abonneer URL",
"chrome_extension" : "Chrome extensie",
"firefox_extension" : "Firefox extensie",
"opera_extension" : "Opera extensie",
"subscribe_bookmarklet" : "Voeg abonnement toe bookmarklet (klik)",
"subscribe_bookmarklet_asc" : "Oudste eerst",
"subscribe_bookmarklet_desc" : "Nieuwste eerst",
"next_unread_bookmarklet" : "Volgend ongelezen item bookmarklet (sleep naar bladwijzerbalk)"
},
"translation" : {
"value" : "Vertalingen",
"message" : "We hebben jouw hulp nodig om CommaFeed te vertalen.",
"link" : "Bekijk hier hoe je kunt bijdragen met vertalingen."
},
"announcements" : "Aankondigingen",
"shortcuts" : {
"mouse_middleclick" : "middelste muisknop",
"open_next_entry" : "open het volgende artikel",
"open_previous_entry" : "open het vorige artikel",
"spacebar" : "spatie/shift+spatie",
"move_page_down_up" : "beweegt de pagina naar onder/boven",
"focus_next_entry" : "plaats focus op volgend artikel zonder het te openen",
"focus_previous_entry" : "plaats focus op vorig artikel zonder het te openen",
"open_next_feed" : "open volgende feed of categorie",
"open_previous_feed" : "open vorige feed of categorie",
"open_close_current_entry" : "open/sluit het huidige artikel",
"open_current_entry_in_new_window" : "open het huidige artikel in een nieuw venster",
"open_current_entry_in_new_window_background" : "open huidig artikel in een nieuw venster op de achtergrond",
"star_unstar" : "voeg artikel toe aan/verwijder uit favorieten",
"mark_current_entry" : "markeer huidig artikel als gelezen/ongelezen",
"mark_all_as_read" : "markeer alle artikelen als gelezen",
"open_in_new_tab_mark_as_read" : "open artikel in een nieuw tabblad en markeer als gelezen",
"fullscreen" : "schakel tussen fullscreen weergave",
"font_size" : "vergroot/verklein tekst in huidig artikel",
"go_to_all" : "ga naar de ALLES-weergave",
"go_to_starred" : "ga naar de Favorieten-weergave",
"feed_search" : "navigeer naar een abonnement door diens naam in te typen"
}
}
}

180
src/main/app/i18n/nn.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Lagre",
"cancel" : "Avbryt",
"delete" : "Slett",
"required" : "Påkravd",
"download" : "Last ned",
"link" : "Lenkje",
"bookmark" : "Bokmerke",
"close" : "Lukk",
"tags" : "Tags "
},
"tree" : {
"subscribe" : "Abonner",
"import" : "Importer",
"new_category" : "Ny kategori",
"all" : "Alle",
"starred" : "Merka artiklar"
},
"subscribe" : {
"feed_url" : "URL for abonnement",
"feed_name" : "Abonnementsnamn",
"category" : "Kategori"
},
"import" : {
"google_reader_prefix" : "La meg importere abonnementa dine frå",
"google_reader_suffix" : "-brukaren din.",
"google_download" : "Alternativt, last opp di eiga subscriptions.xml-fil.",
"google_download_link" : "Last ned herifrå.",
"xml_file" : "OPML-fil"
},
"new_category" : {
"name" : "Namn",
"parent" : "Overordna"
},
"toolbar" : {
"unread" : "Ulesne",
"all" : "Alle",
"previous_entry" : "Førre artikkel",
"next_entry" : "Neste artikkel",
"refresh" : "Oppdater",
"refresh_all" : "Force refresh all my feeds ",
"sort_by_asc_desc" : "Sorter etter dato ny/gamal",
"titles_only" : "Berre titlar",
"expanded_view" : "Utvida visning",
"mark_all_as_read" : "Merk alle som lesne",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day" : "Artiklar eldre enn éin dag",
"mark_all_older_week" : "Artiklar eldre enn éi veke",
"mark_all_older_two_weeks" : "Artiklar eldre enn to veker",
"settings" : "Innstillingar",
"profile" : "Profil",
"admin" : "Admin",
"about" : "Om",
"logout" : "Logg ut",
"donate" : "Doner"
},
"view" : {
"entry_source" : "from ",
"entry_author" : "av ",
"error_while_loading_feed" : "Feil under lasting av artikkel",
"keep_unread" : "Behold som ulesen",
"no_unread_items" : "har ingen ulesne artiklar.",
"mark_up_to_here" : "Mark as read up to here ",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords "
},
"feedsearch" : {
"hint" : "Skriv inn eit abonnement...",
"help" : "Bruk entertasten for å velje og piltastane for å navigere.",
"result_prefix" : "Dine abonnement:"
},
"settings" : {
"general" : {
"value" : "Generelt",
"language" : "Språk",
"language_contribute" : "Bidra med omsetjingar",
"show_unread" : "Vis abonnement og kategoriar utan nye artiklar",
"social_buttons" : "Vis delingsknappar",
"scroll_marks" : "I utvida visning, merk artiklar som lesne når du blar deg forbi dei."
},
"appearance" : "Utsjånad",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme" : "Drakt",
"submit_your_theme" : "Legg til eiga drakt",
"custom_css" : "Skreddarsydd CSS"
},
"details" : {
"feed_details" : "Abonnementsdetaljar",
"url" : "URL",
"website" : "Website ",
"name" : "Namn",
"category" : "Kategori",
"position" : "Posisjon",
"last_refresh" : "Siste oppdatering",
"message" : "Last refresh message ",
"next_refresh" : "Neste oppdatering",
"queued_for_refresh" : "I kø for oppdatering",
"feed_url" : "URL for abonnement",
"generate_api_key_first" : "Generer ein API-nykel under profilinnstillingar fyrst.",
"unsubscribe" : "Avslutt abonnement",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "Kategoridetaljar",
"tag_details" : "Tag details ",
"parent_category" : "Overordna kategori"
},
"profile" : {
"user_name" : "Brukarnamn",
"email" : "E-post",
"change_password" : "Endre passord",
"confirm_password" : "Stadfest passord",
"minimum_6_chars" : "Minimum 6 teikn",
"passwords_do_not_match" : "Passorda er usamde",
"api_key" : "API-nykel",
"api_key_not_generated" : "Har ikkje vorte generert",
"generate_new_api_key" : "Generer ny API-nykel",
"generate_new_api_key_info" : "Endring av passord vil generere ein ny API-nykel",
"opml_export" : "OPML-eksport",
"delete_account" : "Slett brukar",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed er bygd på toppen av JAX-RS og AngularJS. Difor er REST API tilgjengeleg.",
"link_to_documentation" : "Lenkje til dokumentasjon."
},
"keyboard_shortcuts" : "Hurtigtastar",
"version" : "CommaFeed version ",
"line1_prefix" : "CommaFeed er eit prosjekt med open kjeldekode. Kjeldekoden er tilgjengeleg på ",
"line1_suffix" : ".",
"line2_prefix" : "Viss du finn ein feil eller eit problem, rapporter det på ",
"line2_suffix" : " prosjektsida.",
"line3" : "Viss du likar dette prosjektet, kan du vurdere ein donasjon for å støtte utviklaren, og bidra med å dekkje kostnadane til å drifte nettstaden.",
"line4" : "For dei som føretrekkjer bitcoin, her er adressa",
"goodies" : {
"value" : "Godsakar",
"android_app" : "Android app ",
"subscribe_url" : "Abonner URL",
"chrome_extension" : "Chrome-utviding",
"firefox_extension" : "Firefox-utviding",
"opera_extension" : "Opera-utviding",
"subscribe_bookmarklet" : "Nytt abonnement-bokmerkjeprogram (klikk)",
"subscribe_bookmarklet_asc" : "Oldest first ",
"subscribe_bookmarklet_desc" : "Newest first ",
"next_unread_bookmarklet" : "Neste ulesne artikkel-bokmerkeprogram (dra til bokmerkemenyen)"
},
"translation" : {
"value" : "Omsetjing",
"message" : "Vi behøver di hjelp til å omsetje CommaFeed.",
"link" : "Sjå korleis du kan hjelpe til med omsetjingar."
},
"announcements" : "Kunngjøringer",
"shortcuts" : {
"mouse_middleclick" : "midtre museknapp/musehjulet",
"open_next_entry" : "opne neste artikkel",
"open_previous_entry" : "opne førre artikkel",
"spacebar" : "space/shift+space ",
"move_page_down_up" : "moves the page down/up ",
"focus_next_entry" : "sett fokus på neste artikkel utan å opne han",
"focus_previous_entry" : "sett fokus på forrige artikkel utan å opne han",
"open_next_feed" : "opne neste abonnement eller kategori",
"open_previous_feed" : "opne førre abonnement eller kategori",
"open_close_current_entry" : "opne/lukke gjeldande artikkel",
"open_current_entry_in_new_window" : "opne gjeldande artikkel i eit nytt vindauge",
"open_current_entry_in_new_window_background" : "opne gjeldande artikkel i eit nytt bakgrunnsvindauge",
"star_unstar" : "legg til stjerne/fjern stjerne frå gjeldande artikkel",
"mark_current_entry" : "merk gjeldande artikkel som lesen/ulesen",
"mark_all_as_read" : "merk alle artiklar som lesne",
"open_in_new_tab_mark_as_read" : "opne artikkel i ny fane og merk som lesen",
"fullscreen" : "toggle full screen mode ",
"font_size" : "increase/decrease font size of the current entry ",
"go_to_all" : "go to the All view ",
"go_to_starred" : "go to the Starred view ",
"feed_search" : "naviger til eit abonnement ved å skrive inn abonnementsnamnet"
}
}
}

180
src/main/app/i18n/pl.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Zachowaj",
"cancel" : "Anuluj",
"delete" : "Usuń",
"required" : "Wymagane",
"download" : "Pobierz",
"link" : "Odnośnik",
"bookmark" : "Zakładka",
"close" : "Zamknij",
"tags" : "Tags "
},
"tree" : {
"subscribe" : "Subskrybuj",
"import" : "Importuj",
"new_category" : "Nowa kategoria",
"all" : "Wszystkie elementy",
"starred" : "Elementy oznaczone gwiazdką"
},
"subscribe" : {
"feed_url" : "URL kanału",
"feed_name" : "Nazwa kanału",
"category" : "Kategoria"
},
"import" : {
"google_reader_prefix" : "Pozwól mi zaimportować kanały z twojego ",
"google_reader_suffix" : " konta",
"google_download" : "albo, wrzuć pilk subskrypcje.xml",
"google_download_link" : "Ściągnij go stąd.",
"xml_file" : "Plik OPML"
},
"new_category" : {
"name" : "Nazwa",
"parent" : "Kategoria nadrzędna"
},
"toolbar" : {
"unread" : "Nieprzeczytane",
"all" : "Wszystkie",
"previous_entry" : "Poprzedni element",
"next_entry" : "Następny element",
"refresh" : "Odswież",
"refresh_all" : "Force refresh all my feeds ",
"sort_by_asc_desc" : "Sortuj od najnowszego/najstarszego",
"titles_only" : "Widok listy",
"expanded_view" : "Widok rozwinięty",
"mark_all_as_read" : "Oznacz wszystko jako przeczytane",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day" : "Elementy starsze niż dzień",
"mark_all_older_week" : "Elementy starsze niż tydzień",
"mark_all_older_two_weeks" : "Elementy starsze niż dwa tygodnie",
"settings" : "Ustawienia",
"profile" : "Profil",
"admin" : "Admin",
"about" : "O CommaFeed",
"logout" : "Wyloguj",
"donate" : "Wspomóż"
},
"view" : {
"entry_source" : "from ",
"entry_author" : "przez",
"error_while_loading_feed" : "Wystąpił błąd podczas ładowania tego kanału.",
"keep_unread" : "Pozostaw nieprzeczytane",
"no_unread_items" : " nie ma nieprzeczytanych elementów.",
"mark_up_to_here" : "Mark as read up to here ",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords "
},
"feedsearch" : {
"hint" : "Wpisz subskrybcję...",
"help" : "Użyj klawisza Enter do zaznaczenia a strzałek do nawigacji. ",
"result_prefix" : "Twoje subskrybcje: "
},
"settings" : {
"general" : {
"value" : "Ogólne",
"language" : "Język",
"language_contribute" : "Pomóż w tłumaczeniu",
"show_unread" : "Pokaż kanały i kategorie bez nieprzeczytanych elementów",
"social_buttons" : "Pokaż przyciski udostępniania",
"scroll_marks" : "W widoku rozwiniętym przewijanie oznacza elementy jako przeczytane"
},
"appearance" : "Wygląd",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme" : "Motyw",
"submit_your_theme" : "Wyślij swój motyw",
"custom_css" : "Własny styl CSS"
},
"details" : {
"feed_details" : "Szczegóły kanału",
"url" : "URL",
"website" : "Website ",
"name" : "Nazwa",
"category" : "Kategoria",
"position" : "Pozycja",
"last_refresh" : "Ostatnio odświeżony",
"message" : "Last refresh message ",
"next_refresh" : "Następne odświeżenie",
"queued_for_refresh" : "W kolejce do odświeżenia",
"feed_url" : "URL kanału",
"generate_api_key_first" : "Najpierw wygeneruj klucz API w swoim profilu.",
"unsubscribe" : "Cofnij subskrypcje",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "Szczegóły kategorii",
"tag_details" : "Tag details ",
"parent_category" : "Kategoria nadrzędna"
},
"profile" : {
"user_name" : "Nazwa użytkownika",
"email" : "E-mail",
"change_password" : "Zmień hasło",
"confirm_password" : "Potwierdź hasło",
"minimum_6_chars" : "Minimum 6 znaków",
"passwords_do_not_match" : "Hasła nie pasują do siebie",
"api_key" : "Klucz API",
"api_key_not_generated" : "Jeszcze niewygenerowany",
"generate_new_api_key" : "Wygeneruj nowy klucz API",
"generate_new_api_key_info" : "Zmiana hasła spowoduje wygenerowanie nowego klucza API",
"opml_export" : "Eksportuj do pliku OPML",
"delete_account" : "Usuń konto",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed jest oparty o JAX-RS i AngularJS. Dzięki temu REST API jest dostępne.",
"link_to_documentation" : "Link do dokumentacji."
},
"keyboard_shortcuts" : "Skróty klawiszowe",
"version" : "CommaFeed version ",
"line1_prefix" : "CommaFeed jest projektem Open-Source. Źródła są dostępne na ",
"line1_suffix" : ".",
"line2_prefix" : "Jeśli napotkasz jakiś problem, proszę zgłoś go na stronie ",
"line2_suffix" : " projektu.",
"line3" : "Jeśli podoba ci się ten projekt, rozważ wsparcie autora i pomóż w utrzymaniu tej strony.",
"line4" : "Jeśli wolisz bitcoin, użyj tego adresu",
"goodies" : {
"value" : "Dodatki",
"android_app" : "Aplikacja na Androida",
"subscribe_url" : "Subskrybuj URL",
"chrome_extension" : "Dodatek do Chrome",
"firefox_extension" : "Dodatek do Firefoxa",
"opera_extension" : "Dodatek do Opery",
"subscribe_bookmarklet" : "Dodaj subskrybcje jako skryptozakładkę (kliknij)",
"subscribe_bookmarklet_asc" : "Oldest first ",
"subscribe_bookmarklet_desc" : "Newest first ",
"next_unread_bookmarklet" : "Następny nieprzeczytany element jako skryptozakładka (przeciągnij na pasek zakładek)"
},
"translation" : {
"value" : "Tłumaczenia",
"message" : "Potrzebujemy pomocy w tłumaczeniu CommaFeed.",
"link" : "Zobacz jak możesz pomóc."
},
"announcements" : "Ogłoszenia",
"shortcuts" : {
"mouse_middleclick" : "środkowy przycisk myszy",
"open_next_entry" : "otwórz następny element",
"open_previous_entry" : "otwórz poprzedni element",
"spacebar" : "spacja/shift+spacja",
"move_page_down_up" : "przesuwa stronę w górę/dół",
"focus_next_entry" : "wyróżnij następny element bez otwierania go",
"focus_previous_entry" : "wyróżnij poprzedni element bez otwierania go",
"open_next_feed" : "otwórz następny kanał lub kategorię",
"open_previous_feed" : "otwórz poprzedni kanał lub kategorię",
"open_close_current_entry" : "otwórz/zamknij bieżący element",
"open_current_entry_in_new_window" : "otwórz bieżący element w nowym oknie",
"open_current_entry_in_new_window_background" : "otwórz bieżący element w nowym oknie w tle",
"star_unstar" : "oznacz/odznacz gwiazdką bieżący element",
"mark_current_entry" : "oznacz jako przeczytany/nieprzeczytany obecny element",
"mark_all_as_read" : "oznacz wszystko jako przeczytane",
"open_in_new_tab_mark_as_read" : "otwórz w nowej zakładce i oznacz jako przeczytane",
"fullscreen" : "przełącz tryb pełnoekranowy",
"font_size" : "zmień wielkość czcionki",
"go_to_all" : "go to the All view ",
"go_to_starred" : "go to the Starred view ",
"feed_search" : "przejdź do subskrybcji wpisując jej nazwę"
}
}
}

180
src/main/app/i18n/pt.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Salvar",
"cancel" : "Cancelar",
"delete" : "Excluir",
"required" : "Obrigatório",
"download" : "Download",
"link" : "Link",
"bookmark" : "Favorito",
"close" : "Fechar",
"tags" : "Tags "
},
"tree" : {
"subscribe" : "Inscrever-se",
"import" : "Importar",
"new_category" : "Nova categoria",
"all" : "Todos",
"starred" : "Com estrela"
},
"subscribe" : {
"feed_url" : "URL de feed",
"feed_name" : "Nome do feed",
"category" : "Categoria"
},
"import" : {
"google_reader_prefix" : "Deixe-me importar seus feeds de sua conta",
"google_reader_suffix" : ".",
"google_download" : "Alternativamente, faça upload de seu arquivo subscriptions.xml.",
"google_download_link" : "Fazer download daqui.",
"xml_file" : "Arquivo OPML"
},
"new_category" : {
"name" : "Nome",
"parent" : "Pai"
},
"toolbar" : {
"unread" : "Não lidos",
"all" : "Todos",
"previous_entry" : "Item anterior",
"next_entry" : "Próximo item",
"refresh" : "Atualizar",
"refresh_all" : "Forçar atualização de todos os meus feeds",
"sort_by_asc_desc" : "Ordenar por data cresc/decres",
"titles_only" : "Somente títulos",
"expanded_view" : "Modo Expandido",
"mark_all_as_read" : "Marcar tudo como lido",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day" : "Itens mais antigos que um dia",
"mark_all_older_week" : "Itens mais antigos que uma semana",
"mark_all_older_two_weeks" : "Itens mais antigos que duas semanas",
"settings" : "Configurações",
"profile" : "Perfil",
"admin" : "Admin",
"about" : "Sobre",
"logout" : "Sair",
"donate" : "Doar"
},
"view" : {
"entry_source" : "de",
"entry_author" : "por",
"error_while_loading_feed" : "Erro lendo esse feed",
"keep_unread" : "Manter como não lido",
"no_unread_items" : "não tem itens não lidos.",
"mark_up_to_here" : "Marcar como lido até aqui",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords "
},
"feedsearch" : {
"hint" : "Digite o nome de uma Inscrição...",
"help" : "Use a tecla ENTER e setas direcionais para navegar.",
"result_prefix" : "Suas inscrições:"
},
"settings" : {
"general" : {
"value" : "Geral",
"language" : "Idioma",
"language_contribute" : "Contribua com traduções",
"show_unread" : "Mostrar feeds e categorias sem itens não lidos",
"social_buttons" : "Mostrar botões de mídias sociais",
"scroll_marks" : "No modo expandido, percorrer os itens marca-os como lidos"
},
"appearance" : "Aparência",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme" : "Tema",
"submit_your_theme" : "Envie seu tema",
"custom_css" : "CSS personalizado"
},
"details" : {
"feed_details" : "Detalhes do feed",
"url" : "URL",
"website" : "Website",
"name" : "Nome",
"category" : "Categoria",
"position" : "Posição",
"last_refresh" : "Última atualização",
"message" : "Last refresh message ",
"next_refresh" : "Próxima atualização",
"queued_for_refresh" : "Na fila para atualizar",
"feed_url" : "URL do feed",
"generate_api_key_first" : "Gerar uma chave de API em seu perfil primeiro.",
"unsubscribe" : "Cancelar inscrição",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "Detalhes da categoria",
"tag_details" : "Tag details ",
"parent_category" : "Categoria pai"
},
"profile" : {
"user_name" : "Nome de usuário",
"email" : "E-mail",
"change_password" : "Trocar senha",
"confirm_password" : "Confirmar senha",
"minimum_6_chars" : "Mínimo de 6 caracteres",
"passwords_do_not_match" : "Senhas não conferem",
"api_key" : "Chave de API",
"api_key_not_generated" : "Ainda não gerada",
"generate_new_api_key" : "Gerar nova chave de API",
"generate_new_api_key_info" : "Mudar a senha irá gerar uma nova chave de API",
"opml_export" : "Exportar OPML",
"delete_account" : "Excluir conta",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "API REST",
"line1" : "CommaFeed foi desenvolvido sobre JAX-RS e AngularJS. Como tal, uma API REST está disponível.",
"link_to_documentation" : "Link para a documentação."
},
"keyboard_shortcuts" : "Atalhos de teclado",
"version" : "CommaFeed versão",
"line1_prefix" : "CommaFeed é um projeto de código livre. Fontes estão hospedados em ",
"line1_suffix" : ".",
"line2_prefix" : "Se você encontrar um problema, por favor relate-o na página de problemas do projeto ",
"line2_suffix" : ".",
"line3" : "Se você gostar desse projeto, por favor considere uma doação para apoiar o desenvolvedor e ajudar a cobrir os custos de manter esse website no ar.",
"line4" : "Para quem preferir bitcoin, esse é o endereço",
"goodies" : {
"value" : "Extras",
"android_app" : "Aplicativo Android",
"subscribe_url" : "URL de inscrição",
"chrome_extension" : "Extensão para o Chrome",
"firefox_extension" : "Extensão para o Firefox",
"opera_extension" : "Extensão para o Opera",
"subscribe_bookmarklet" : "Bookmarklet para adicionar inscrição (clique)",
"subscribe_bookmarklet_asc" : "Mais velhas primeiro",
"subscribe_bookmarklet_desc" : "Mais novas primeiro",
"next_unread_bookmarklet" : "Bookmarklet para o próximo item não lido (arraste para a barra de favoritos)"
},
"translation" : {
"value" : "Tradução",
"message" : "Precisamos de sua ajuda para traduzir CommaFeed.",
"link" : "Veja como contribuir com traduções."
},
"announcements" : "Anúncios",
"shortcuts" : {
"mouse_middleclick" : "clique com o botão do meio do mouse",
"open_next_entry" : "abre próximo item",
"open_previous_entry" : "abre item anterior",
"spacebar" : "barra de espaço/shift+barra de espaço",
"move_page_down_up" : "move a página para baixo/cima",
"focus_next_entry" : "seleciona próximo item sem abri-lo",
"focus_previous_entry" : "seleciona item anterior sem abri-lo",
"open_next_feed" : "abre próximo feed ou categoria",
"open_previous_feed" : "abre feed ou categoria anterior",
"open_close_current_entry" : "abre/fecha item atual",
"open_current_entry_in_new_window" : "abre item atual em uma nova janela",
"open_current_entry_in_new_window_background" : "abre item atual em uma nova janela em plano de fundo",
"star_unstar" : "marca/desmarca estrela do item atual",
"mark_current_entry" : "marca item atual como lido/não lido",
"mark_all_as_read" : "marca todos os itens como lidos",
"open_in_new_tab_mark_as_read" : "abre item em uma nova aba e marca como lido",
"fullscreen" : "modo tela cheia",
"font_size" : "aumenta/diminui o tamanho da fonte na entrada atual",
"go_to_all" : "vá para Todos os itens",
"go_to_starred" : "vá para itens com estrela",
"feed_search" : "navega entre inscrições buscando pelo nome"
}
}
}

180
src/main/app/i18n/ru.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Сохранить",
"cancel" : "Отмена",
"delete" : "Удалить",
"required" : "Обязательно",
"download" : "Скачать",
"link" : "Ссылка",
"bookmark" : "Закладка",
"close" : "Закрыть",
"tags" : "Теги"
},
"tree" : {
"subscribe" : "Подписаться",
"import" : "Импорт",
"new_category" : "Новая категория",
"all" : "Все",
"starred" : "Избранное"
},
"subscribe" : {
"feed_url" : "Адрес ленты",
"feed_name" : "Название ленты",
"category" : "Категория"
},
"import" : {
"google_reader_prefix" : "Можно импотрировать подписки из ",
"google_reader_suffix" : " аккаунта.",
"google_download" : "Или загрузить собсвенный XML-файл подпискок.",
"google_download_link" : "Скачайте его здесь.",
"xml_file" : "OPML-файл"
},
"new_category" : {
"name" : "Название",
"parent" : "Родительская категория"
},
"toolbar" : {
"unread" : "Непрочитанные",
"all" : "Все",
"previous_entry" : "Предыдущая запись",
"next_entry" : "Следующая запись",
"refresh" : "Обновить",
"refresh_all" : "Обновить все подписки вручную",
"sort_by_asc_desc" : "Сначала новые/старые",
"titles_only" : "Только заголовки",
"expanded_view" : "Развёрнутый вид",
"mark_all_as_read" : "Отметить всё как прочитанное",
"mark_all_older_12_hours" : "Записи старше 12-и часов",
"mark_all_older_day" : "Записи старше суток",
"mark_all_older_week" : "Записи старше недели",
"mark_all_older_two_weeks" : "Записи старше двух недель",
"settings" : "Настройки",
"profile" : "Профиль",
"admin" : "Администратор",
"about" : "Справка",
"logout" : "Выйти",
"donate" : "Поддержать проект"
},
"view" : {
"entry_source" : "от",
"entry_author" : "автор",
"error_while_loading_feed" : "Не удалось загрузить ленту",
"keep_unread" : "Оставить непрочитанным",
"no_unread_items" : "нет непрочитанных записей.",
"mark_up_to_here" : "Отметить прочитанным до сюда",
"search_for" : "искать:",
"no_search_results" : "По данному запросу ничего не найдено."
},
"feedsearch" : {
"hint" : "Введите подписку...",
"help" : "Используйте клавишу ввода для выбора и стрелки для перемещения.",
"result_prefix" : "Ваши подписки:"
},
"settings" : {
"general" : {
"value" : "Основное",
"language" : "Язык",
"language_contribute" : "Принять участие в переводе",
"show_unread" : "Показывать прочтённые ленты и категории",
"social_buttons" : "Показывать социальные кнопки",
"scroll_marks" : "В развёрнутом виде помечать записи как прочитанные по мере прокрутки"
},
"appearance" : "Вид",
"scroll_speed" : "Скорость прокрутки при навигации между записями (в миллисекундах)",
"scroll_speed_help" : "смените на 0 чтобы выключить",
"theme" : "Тема",
"submit_your_theme" : "Добавьте свою тему",
"custom_css" : "Собственная CSS"
},
"details" : {
"feed_details" : "Информация о ленте",
"url" : "URL",
"website" : "Сайт",
"name" : "Название",
"category" : "Категория",
"position" : "Позиция",
"last_refresh" : "Последнее обновление",
"message" : "Сообщение последнего обновления",
"next_refresh" : "Следующее обновление",
"queued_for_refresh" : "В очереди на обновление",
"feed_url" : "Адрес ленты",
"generate_api_key_first" : "Сначала сгенерируйте API-ключ в вашем профиле.",
"unsubscribe" : "Отписаться",
"unsubscribe_confirmation" : "Подтвердить отписку от этой ленты? Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Подтвердить удаление этой категории?",
"category_details" : "Информация о категории",
"tag_details" : "Детали тега",
"parent_category" : "Родительская категория"
},
"profile" : {
"user_name" : "Имя пользователя",
"email" : "Эл. почта",
"change_password" : "Изменить пароль",
"confirm_password" : "Подтвердите пароль",
"minimum_6_chars" : "Не меньше 6 символов",
"passwords_do_not_match" : "Пароли не совпадают",
"api_key" : "API-ключ",
"api_key_not_generated" : "Не сгенерирован",
"generate_new_api_key" : "Сгенерировать новый API-ключ",
"generate_new_api_key_info" : "После изменения пароля, API-ключ изменится",
"opml_export" : "Экспорт OPML",
"delete_account" : "Удалить аккаунт",
"delete_account_confirmation" : "Удалить ваш аккаунт? Назад пути не будет!"
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed основан на JAX-RS и AngularJS. Вам доступно REST API.",
"link_to_documentation" : "Ссылка на документацию."
},
"keyboard_shortcuts" : "Горячие клавиши",
"version" : "Версия CommaFeed",
"line1_prefix" : "CommaFeed — проект с открытым исходным кодом. Исходники находятся на ",
"line1_suffix" : ".",
"line2_prefix" : "Если вы обнаружите ошибку, пожалуйста, сообщите о ней на ",
"line2_suffix" : ".",
"line3" : "Если вам понравился этот проект, пожалуйста, поддержите разработчика суммой, которую вам не жалко, чтобы сайт продолжал работать.",
"line4" : "Адрес для тех, кто предпочитает bitcoin",
"goodies" : {
"value" : "Дополнения",
"android_app" : "Приложение для Андроид",
"subscribe_url" : "Адрес для подписки (заменить FEED_URL_HERE на адрес ленты)",
"chrome_extension" : "Расширение для Chrome",
"firefox_extension" : "Расширение для Firefox",
"opera_extension" : "Расширение для Opera",
"subscribe_bookmarklet" : "Закладка для быстрой подписки на ленты (нужно кликнуть)",
"subscribe_bookmarklet_asc" : "Сначала старые",
"subscribe_bookmarklet_desc" : "Сначала новые",
"next_unread_bookmarklet" : "Открыть следующую непрочитанную запись в новой вкладке (перетащить на панель закладок)"
},
"translation" : {
"value" : "Перевод",
"message" : "Нам нужна ваша помощь в переводе CommaFeed на другие языки.",
"link" : "Посмотрите как поучаствовать в переводе."
},
"announcements" : "Объявления",
"shortcuts" : {
"mouse_middleclick" : "средняя кнопка мыши",
"open_next_entry" : "открыть следующую запись",
"open_previous_entry" : "открыть предыдущую запись",
"spacebar" : "пробел/shift+пробел",
"move_page_down_up" : "передвигает страницу вверх/вниз",
"focus_next_entry" : "выбрать следующую запись не открывая её",
"focus_previous_entry" : "выбрать предыдущую запись не открывая её",
"open_next_feed" : "открыть следующую ленту или категорию",
"open_previous_feed" : "открыть предыдущую ленту или категорию",
"open_close_current_entry" : "открыть/закрыть текущюю запись",
"open_current_entry_in_new_window" : "открыть текущюю запись в новом окне",
"open_current_entry_in_new_window_background" : " открыть текущую запись в новом окне на фоне",
"star_unstar" : "добавить/убрать из избранного текущюю запись",
"mark_current_entry" : "пометить текущюю запись как прочитанную",
"mark_all_as_read" : "пометить всё как прочитанное",
"open_in_new_tab_mark_as_read" : "открыть запись в новом окне и пометить как прочитанную",
"fullscreen" : "переключиться в полноэкранный режим",
"font_size" : "увеличить/уменьшить размер шрифта текущей записи",
"go_to_all" : "перейти ко всем",
"go_to_starred" : "перейти к избранным",
"feed_search" : "перейти к подписке по названию"
}
}
}

180
src/main/app/i18n/sk.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Uložiť",
"cancel" : "Zrušiť",
"delete" : "Odstrániť",
"required" : "Povinné",
"download" : "Stiahnuť",
"link" : "Link",
"bookmark" : "Záložky",
"close" : "Zavrieť",
"tags" : "Tagy"
},
"tree" : {
"subscribe" : "Odoberať",
"import" : "Importovať",
"new_category" : "Nová kategória",
"all" : "Všetko",
"starred" : "Obľúbené"
},
"subscribe" : {
"feed_url" : "URL RSS zdroja",
"feed_name" : "Názov RSS zdroja",
"category" : "Kategória"
},
"import" : {
"google_reader_prefix" : "Importujte si RSS zdroje s vášho",
"google_reader_suffix" : " účtu.",
"google_download" : "Alternatívne, môžte nahrať váš subscriptions.xml súbor",
"google_download_link" : "Stiahnuť to môžete s lokácie.",
"xml_file" : "OPML súbor"
},
"new_category" : {
"name" : "Názov",
"parent" : "Hlavná"
},
"toolbar" : {
"unread" : "Neprečítané",
"all" : "Všetky",
"previous_entry" : "Predchádzajúca položka",
"next_entry" : "Nasledujúca položka",
"refresh" : "Obnoviť",
"refresh_all" : "Vynútené obnovenie všetkých položiek",
"sort_by_asc_desc" : "Zoradiť podľa najnovšieho/najstaršieho",
"titles_only" : "Náhľad titulkov",
"expanded_view" : "Rozšírený náhľad",
"mark_all_as_read" : "Označiť všetky ako prečítané",
"mark_all_older_12_hours" : "Položky staršie ako 12 hodín",
"mark_all_older_day" : "Položky staršie ako deň",
"mark_all_older_week" : "Položky staršie ako týždeň",
"mark_all_older_two_weeks" : "Položky staršie ako dva týždne",
"settings" : "Nastavenia",
"profile" : "Profil",
"admin" : "Admin",
"about" : "O CommaFeed",
"logout" : "Odhlásiť",
"donate" : "Donate"
},
"view" : {
"entry_source" : "z",
"entry_author" : "od ",
"error_while_loading_feed" : "Počas načítavania sa vyskytla chyba",
"keep_unread" : "Ponechať ako neprečítané",
"no_unread_items" : "nemá žiadne neprečítané položky.",
"mark_up_to_here" : "Až potiaľto označiť položky ako prečítané",
"search_for" : "Hľadaný výraz:",
"no_search_results" : "Nenašla sa žiadna zhoda pre hľadaný výraz."
},
"feedsearch" : {
"hint" : "Zadajte názov odoberania...",
"help" : "Použite klávesu enter pre výber a smerové klávesy pre navigáciu.",
"result_prefix" : "Vaše odoberania:"
},
"settings" : {
"general" : {
"value" : "Všeobecné",
"language" : "Jazyk",
"language_contribute" : "Zapojte sa do prekladu",
"show_unread" : "Zobraziť príspevky a kategórie bez neprečítaných položiek",
"social_buttons" : "Zobraziť možnosti zdieľania",
"scroll_marks" : "Scrollovanie v rozšírenom náhľade označí položky ako prečítané"
},
"appearance" : "Vzhľad",
"scroll_speed" : "Rýchlosť skrolovania—pohybu medzi položkami (v milisekundách)",
"scroll_speed_help" : "nastavte 0 pre deaktiváciu",
"theme" : "Motív",
"submit_your_theme" : "Nahrať vlastný motív vzhľadu",
"custom_css" : "Vlastný motív vzhľadu (CSS)"
},
"details" : {
"feed_details" : "Detaily odoberania",
"url" : "URL odkaz",
"website" : "Web stránka",
"name" : "Názov",
"category" : "Kategória",
"position" : "Pozícia",
"last_refresh" : "Predchádzajúce obnovenie",
"message" : "Predchádzajúca správa obnovenia",
"next_refresh" : "Nasledujúce obnovenie",
"queued_for_refresh" : "Vo fronte",
"feed_url" : "URL RSS zdroja",
"generate_api_key_first" : "Vygenerujte si API kľúč vo vašom profile.",
"unsubscribe" : "Zrušiť odoberanie.",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "Detaily kategórie",
"tag_details" : "Detaily tagu",
"parent_category" : "Hlavná kategória"
},
"profile" : {
"user_name" : "Uživateľské meno",
"email" : "E-mail",
"change_password" : "Zmeniť heslo",
"confirm_password" : "Potvrdiť heslo",
"minimum_6_chars" : "Minimum je 6 znakov",
"passwords_do_not_match" : "Heslá sa nezhodujú",
"api_key" : "API kľúč",
"api_key_not_generated" : "Nie je vygenerovaný",
"generate_new_api_key" : "Vygenerovať nový API kľúč",
"generate_new_api_key_info" : "Zmenou hesla vygenerujete nový API kľúč",
"opml_export" : "exportovať do formátu OPML",
"delete_account" : "Odstrániť účet",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed je postavený na JAX-RS a AngularJS. Dostupná je REST API.",
"link_to_documentation" : "Prejsť na dokumentáciu."
},
"keyboard_shortcuts" : "Klávesové skratky",
"version" : "CommaFeed verzia ",
"line1_prefix" : "CommaFeed je open source projekt. Zdrojový kód je dostupný na ",
"line1_suffix" : ".",
"line2_prefix" : "V prípade, že narazíte na problém, ohláste ho prosím na stránkach",
"line2_suffix" : " projektu.",
"line3" : "V prípade, že sa vám páči CommaFeed, zvážte prosím finančný príspevok. Podporíte tým vývojárov a tiež pomôžete udržať web stránky online.",
"line4" : "Pre tých, ktorí preferujú bitcoin",
"goodies" : {
"value" : "Rozšírenia",
"android_app" : "Aplikácia pre zariadenia Android",
"subscribe_url" : "URL",
"chrome_extension" : "Rozšírenie pre prehliadač Chrome",
"firefox_extension" : "Rozšírenie pre prehliadač Firefox",
"opera_extension" : "Rozšírenie pre prehliadač Opera",
"subscribe_bookmarklet" : "Bookmarklet",
"subscribe_bookmarklet_asc" : "Zoradiť podľa najstaršieho ",
"subscribe_bookmarklet_desc" : "Zoradiť podľa najnovšieho ",
"next_unread_bookmarklet" : "Záložka nasledujúcej neprečítanej položky(pretiahuť k záložkám)"
},
"translation" : {
"value" : "Preklad",
"message" : "Pomôžte s prekladom CommaFeed.",
"link" : "Zistite, ako sa možete zapojiť do prekladu CommaFeed."
},
"announcements" : "Oznámenia",
"shortcuts" : {
"mouse_middleclick" : "klik prostredným tlačítkom",
"open_next_entry" : "zobraziť nasledujúcu položku",
"open_previous_entry" : "zobraziť predchádzajúcu položku",
"spacebar" : "medzerník/shift+medzerník",
"move_page_down_up" : "pohyb smerom dole/hore",
"focus_next_entry" : "presun na nasledujúcu položku bez jej zobrazenia",
"focus_previous_entry" : "presun na predchádzajúcu položku bez jej zobrazenia",
"open_next_feed" : "presun na nasledujúci RSS zdroj alebo kategóriu",
"open_previous_feed" : "presun na predchádzajúci RSS zdroj alebo kategóriu",
"open_close_current_entry" : "zobraziť vybranú položku",
"open_current_entry_in_new_window" : "zobraziť vybranú položku v novom okne",
"open_current_entry_in_new_window_background" : "otvoriť vybranú položku na pozadí",
"star_unstar" : "označiť vybranú položku ako obľúbená",
"mark_current_entry" : "označiť vybranú položku ako prečítanú/neprečítanú",
"mark_all_as_read" : "označiť všetky položky ako prečítané!",
"open_in_new_tab_mark_as_read" : "zobraziť položku na novej karte a označí ju ako prečítanú",
"fullscreen" : "prepnutie zobrazenia na celú obrazovku",
"font_size" : "zmeniť veľkosť písma pre vybranú položku",
"go_to_all" : "zobraziť všetky položky",
"go_to_starred" : "zobraziť obľúbené položiek",
"feed_search" : "presun na odoberaný RSS zdroj vložením jeho názvu"
}
}
}

180
src/main/app/i18n/sv.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Spara",
"cancel" : "Avbryt",
"delete" : "Radera",
"required" : "Obligatorisk",
"download" : "Ladda ned",
"link" : "Länka",
"bookmark" : "Bokmärk",
"close" : "Stäng",
"tags" : "Taggar"
},
"tree" : {
"subscribe" : "Prenumerera",
"import" : "Importera",
"new_category" : "Ny kategori",
"all" : "Alla",
"starred" : "Stjärnmärkt"
},
"subscribe" : {
"feed_url" : "Prenumerationens URL",
"feed_name" : "Prenumerationens namn",
"category" : "Kategori"
},
"import" : {
"google_reader_prefix" : "Låt mig importera dina prenumerationer från ditt",
"google_reader_suffix" : "-konto.",
"google_download" : "Alternativt, ladda upp din subscriptions.xml-fil.",
"google_download_link" : "Ladda ned den här. ",
"xml_file" : "OPML-fil"
},
"new_category" : {
"name" : "Namn",
"parent" : "Överordnad"
},
"toolbar" : {
"unread" : "Oläst",
"all" : "Alla",
"previous_entry" : "Föregående post",
"next_entry" : "Nästa post",
"refresh" : "Uppdatera",
"refresh_all" : "Tvinga uppdatering av alla prenumerationer",
"sort_by_asc_desc" : "Sortera efter datum stigande/fallande",
"titles_only" : "Endast titlar",
"expanded_view" : "Expanderad vy",
"mark_all_as_read" : "Markera alla som lästa",
"mark_all_older_12_hours" : "Poster äldre än 12 timmar",
"mark_all_older_day" : "Poster äldre än en dag",
"mark_all_older_week" : "Poster äldre än en vecka",
"mark_all_older_two_weeks" : "Poster äldre än två veckor",
"settings" : "Inställningar",
"profile" : "Profil",
"admin" : "Administratör",
"about" : "Om",
"logout" : "Logga ut",
"donate" : "Donera"
},
"view" : {
"entry_source" : "från",
"entry_author" : "av",
"error_while_loading_feed" : "Fel under laddning av denna prenumeration",
"keep_unread" : "Håll oläst",
"no_unread_items" : "har inga olästa poster.",
"mark_up_to_here" : "Markera som läst upp till denna post",
"search_for" : "söker efter: ",
"no_search_results" : "Inga resultat för valda nyckelord"
},
"feedsearch" : {
"hint" : "Skriv in en prenumeration...",
"help" : "Använd retur-tangenten för att välja och piltangenterna för att navigera.",
"result_prefix" : "Dina prenumerationer:"
},
"settings" : {
"general" : {
"value" : "Allmänt",
"language" : "Språk",
"language_contribute" : "Bidra med översättningar",
"show_unread" : "Visa prenumerationer och kategorier utan olästa poster",
"social_buttons" : "Visa delningsknappar",
"scroll_marks" : "I expanderad vy, markera poster som lästa genom att scrolla förbi dem"
},
"appearance" : "Utseende",
"scroll_speed" : "Scrollhastighet under navigation mellan poster (i millisekunder)",
"scroll_speed_help" : "ställ på 0 för att avaktivera",
"theme" : "Tema",
"submit_your_theme" : "Skicka in ditt tema",
"custom_css" : "Anpassad CSS"
},
"details" : {
"feed_details" : "Prenumerationsdetaljer",
"url" : "URL",
"website" : "Webbsida",
"name" : "Namn",
"category" : "Kategori",
"position" : "Position",
"last_refresh" : "Senaste uppdatering",
"message" : "Senaste uppdateringsmeddelande",
"next_refresh" : "Nästa uppdatering",
"queued_for_refresh" : "I kö för uppdatering",
"feed_url" : "Prenumerationens URL",
"generate_api_key_first" : "Skapa en API-nyckel på din profil först.",
"unsubscribe" : "Avprenumerera",
"unsubscribe_confirmation" : "Är du säker på att du vill avprenumerera?",
"delete_category_confirmation" : "Är du säker på att du vill ta bort denna kategori?",
"category_details" : "Kategoridetaljer",
"tag_details" : "Taggdetaljer",
"parent_category" : "Överordnad kategori"
},
"profile" : {
"user_name" : "Användarnamn",
"email" : "E-mail",
"change_password" : "Ändra lösenord",
"confirm_password" : "Bekräfta lösenord",
"minimum_6_chars" : "Minst 6 bokstäver",
"passwords_do_not_match" : "Lösenorden matchar inte",
"api_key" : "API-nyckel",
"api_key_not_generated" : "Inte skapad än",
"generate_new_api_key" : "Skapa ny API-nyckel",
"generate_new_api_key_info" : "Lösenordsbyte skapar ny API-nyckel",
"opml_export" : "OPML-export",
"delete_account" : "Radera konto",
"delete_account_confirmation" : "Vill du ta bort ditt konto? Det försvinner för alltid!"
},
"about" : {
"rest_api" : {
"value" : "REST-API",
"line1" : "CommaFeed är byggt på JAX-RS och AngularJS. Tack vare detta är en REST-API tillgänglig.",
"link_to_documentation" : "Länk till dokumentation."
},
"keyboard_shortcuts" : "Tangentbordsgenvägar",
"version" : "CommaFeed-version",
"line1_prefix" : "CommaFeed är ett open-source-projekt. Källan är tillgänglig på ",
"line1_suffix" : ".",
"line2_prefix" : "Om du träffar på ett problem, meddela det på \"Issues\"-sidan för ",
"line2_suffix" : "-projektet.",
"line3" : "Om du gillar detta projekt, avväg gärna en donation för att stötta utvecklaren och bidra till kostnaderna för att hålla denna site online.",
"line4" : "För er som föredrar Bitcoin, här är adressen",
"goodies" : {
"value" : "Godsaker",
"android_app" : "Android-app",
"subscribe_url" : "Prenumerations-URL",
"chrome_extension" : "Chrome-tillägg",
"firefox_extension" : "Firefox-tillägg",
"opera_extension" : "Opera-tillägg",
"subscribe_bookmarklet" : "Bokmärke för tillägg av prenumeration (klicka)",
"subscribe_bookmarklet_asc" : "äldst först",
"subscribe_bookmarklet_desc" : "nyast först",
"next_unread_bookmarklet" : "Bokmärke för nästa olästa post (dra till bokmärkesfält)"
},
"translation" : {
"value" : "Översättning",
"message" : "Vi behöver din hjälp med att översätta CommaFeed.",
"link" : "Se hur du kan bidra med översättningar."
},
"announcements" : "Notiser",
"shortcuts" : {
"mouse_middleclick" : "mitten-musknapp",
"open_next_entry" : "öppna nästa post",
"open_previous_entry" : "öppna föregående post",
"spacebar" : "mellanslag/shift+mellanslag",
"move_page_down_up" : "flyttar sidan ned/upp",
"focus_next_entry" : "sätt fokus på nästa post utan att öppna",
"focus_previous_entry" : "sätt fokus på föregående post utan att öppna",
"open_next_feed" : "öppna nästa prenumeration eller kategori",
"open_previous_feed" : "öppna föregående prenumeration eller kategori",
"open_close_current_entry" : "öppna/stäng nuvarande post",
"open_current_entry_in_new_window" : "öppna nuvarande post i nytt fönster",
"open_current_entry_in_new_window_background" : "öppna nuvarande post i nytt bakgrundsfönster",
"star_unstar" : "stjärnmärk/ostjärnmärk nuvarande post",
"mark_current_entry" : "markera nuvarande post läst/oläst",
"mark_all_as_read" : "markera alla som lästa",
"open_in_new_tab_mark_as_read" : "öppna nuvarande post i ny flik och markera som läst",
"fullscreen" : "växla till/från fullskärmsläge",
"font_size" : "öka/minska teckenstorlek av nuvarande post",
"go_to_all" : "se alla poster",
"go_to_starred" : "se stjärnmärkta poster",
"feed_search" : "navigera till en prenumeration via prenumerationsnamn"
}
}
}

180
src/main/app/i18n/tr.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "Kaydet",
"cancel" : "İptal",
"delete" : "Sil",
"required" : "Gerekli",
"download" : "İndir",
"link" : "Bağlantı",
"bookmark" : "Yer imi",
"close" : "Kapat",
"tags" : "Tags "
},
"tree" : {
"subscribe" : "Abone ol",
"import" : "İçe aktar",
"new_category" : "Yeni kategori",
"all" : "Tüm öğeler",
"starred" : "Yıldızlı öğeler"
},
"subscribe" : {
"feed_url" : "Yayın URL'si",
"feed_name" : "Yayın Adı",
"category" : "Kategori"
},
"import" : {
"google_reader_prefix" : "Aboneliklerinizi ",
"google_reader_suffix" : " hesabınızdan aktarmama izin verin.",
"google_download" : "Veya, subscriptions.xml dosyanızı yükleyin.",
"google_download_link" : "Buradan indirebilirsiniz.",
"xml_file" : "OPML dosyası"
},
"new_category" : {
"name" : "İsim",
"parent" : "Üst"
},
"toolbar" : {
"unread" : "Okunmamış",
"all" : "Tümü",
"previous_entry" : "Önceki ileti",
"next_entry" : "Sonraki ileti",
"refresh" : "Yenile",
"refresh_all" : "Force refresh all my feeds ",
"sort_by_asc_desc" : "Tarihe göre sırala artan/azalan",
"titles_only" : "Sadece başlıklar",
"expanded_view" : "Genişletilmiş görünüm",
"mark_all_as_read" : "Tümünü okundu işaretle",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day" : "Bir günden eski yazılar",
"mark_all_older_week" : "Bir haftadan eski yazılar",
"mark_all_older_two_weeks" : "İki haftadan eski yazılar",
"settings" : "Ayarlar",
"profile" : "Profil",
"admin" : "Yönetim",
"about" : "Hakkında",
"logout" : ıkış",
"donate" : "Bağış"
},
"view" : {
"entry_source" : "from ",
"entry_author" : "by ",
"error_while_loading_feed" : "Bu aboneliği çekerken hata oluştu.",
"keep_unread" : "Okunmadı olarak sakla",
"no_unread_items" : "okunmamış ileti yok.",
"mark_up_to_here" : "Mark as read up to here ",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords "
},
"feedsearch" : {
"hint" : "Bir abonelik yazın...",
"help" : "Return tuşunu seçmek için, yön tüşlarını ise gezinmek için kullanın.",
"result_prefix" : "Abonelikleriniz:"
},
"settings" : {
"general" : {
"value" : "Genel",
"language" : "Dil",
"language_contribute" : "Çeviri katkısında bulunun",
"show_unread" : "Okunmamış öğesi bulunan yayın ve kategorileri listele",
"social_buttons" : "Sosyal paylaşım butonlarını göster",
"scroll_marks" : "Genişletilmiş görünümde götüntülenen iletileri okunmuş işaretle"
},
"appearance" : "Görünüm",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme" : "Tema",
"submit_your_theme" : "Tema gönder",
"custom_css" : "Kişiselleştirilmiş CSS"
},
"details" : {
"feed_details" : "Yayın detayları",
"url" : "URL",
"website" : "Website ",
"name" : "İsim",
"category" : "Kategori",
"position" : "Pozisyon",
"last_refresh" : "Son yenileme",
"message" : "Last refresh message ",
"next_refresh" : "Sonraki yenileme",
"queued_for_refresh" : "Yenilenmek üzere kuyrukta",
"feed_url" : "Yayın URL'si",
"generate_api_key_first" : "Öncelikle profilinizden bir API anahtarı oluşturun.",
"unsubscribe" : "Aboneliği iptal et",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "Kategori detayları",
"tag_details" : "Tag details ",
"parent_category" : "Üst kategori"
},
"profile" : {
"user_name" : "Kullanıcı adı",
"email" : "E-posta",
"change_password" : "Şifre değiştir",
"confirm_password" : "Şifreyi doğrula",
"minimum_6_chars" : "En az 6 karakter",
"passwords_do_not_match" : "Şifreler uyuşmuyor",
"api_key" : "API anahtarı",
"api_key_not_generated" : "Henüz oluşturulmadı",
"generate_new_api_key" : "Yeni bir API anahtarı oluştur",
"generate_new_api_key_info" : "Şifre değiştirmek API anahtarının da değiştirilmesine neden olcak.",
"opml_export" : "OPML dışa aktar",
"delete_account" : "Hesabı sil",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "REST API",
"line1" : "CommaFeed, JAX-RS ve AngularJS üzerine kurulmuştur. Bu sayede, REST API desteği bulunur.",
"link_to_documentation" : "Dökümantasyon için tıklayın."
},
"keyboard_shortcuts" : "Klavye kısayolları",
"version" : "CommaFeed version ",
"line1_prefix" : "CommaFeed bir açık kaynak projedir. Kaynak dosyaları ",
"line1_suffix" : " adresinde yayınlanır.",
"line2_prefix" : "Lütfen, bir hata ile karşılaşırsanız bunu ",
"line2_suffix" : " projesinde hatalar sayfasından rapor edin.",
"line3" : "Eğer bu projeyi beğendiyseniz, lütfen bağış yaparak geliştiriciye bu sayfayı ayakta tutmasında yardımcı olun.",
"line4" : "Bitcoin'i tercih edenler için adres ",
"goodies" : {
"value" : "Extralar",
"android_app" : "Android app ",
"subscribe_url" : "Abonelik URL'si",
"chrome_extension" : "Chrome eklentisi",
"firefox_extension" : "Firefox eklentisi",
"opera_extension" : "Opera eklentisi",
"subscribe_bookmarklet" : "Bookmarklet'a abonelik ekle (tıklayın)",
"subscribe_bookmarklet_asc" : "Oldest first ",
"subscribe_bookmarklet_desc" : "Newest first ",
"next_unread_bookmarklet" : "Bookmarklet'daki en son okunmamış ileti (Sık kullanılan çubuğuna sürükleyin)"
},
"translation" : {
"value" : "Çeviri",
"message" : "CommaFeed'i çevirmek için yardımınıza ihtiyacımız var.",
"link" : "Nasıl çeviri katkısında bulunabileceğinizi öğrenmek için tıklayın."
},
"announcements" : "Duyurular",
"shortcuts" : {
"mouse_middleclick" : "Fare orta tuşu",
"open_next_entry" : "sonraki öğeyi görüntüle",
"open_previous_entry" : "önceki öğeyi görüntüle",
"spacebar" : "space/shift+space ",
"move_page_down_up" : "moves the page down/up ",
"focus_next_entry" : "sonraki öğeyi görüntülemeden işaretle",
"focus_previous_entry" : "önceki öğeyi görüntülemeden işaretle",
"open_next_feed" : "sonraki aboneliği veya kategoriyi görüntüle",
"open_previous_feed" : "önceki aboneliği veya kategoriyi görüntüle",
"open_close_current_entry" : "işeretli öğeyi aç/kapat",
"open_current_entry_in_new_window" : "görüntülenen öğeyi yeni pencerede görüntüle",
"open_current_entry_in_new_window_background" : "görüntülenen öğeyi arkaplanda yeni pencerede görüntüle",
"star_unstar" : "görüntülenen öğeye yıldız ekle/kaldır",
"mark_current_entry" : "görüntülenen öğeyi okundu/okunmadı işaretle",
"mark_all_as_read" : "tümünü okundu işaretle",
"open_in_new_tab_mark_as_read" : "öğeyi yeni bir sekmede aç ve okundu işaretle",
"fullscreen" : "toggle full screen mode ",
"font_size" : "increase/decrease font size of the current entry ",
"go_to_all" : "go to the All view ",
"go_to_starred" : "go to the Starred view ",
"feed_search" : "abonelik ismini yazarak aboneliğe git"
}
}
}

180
src/main/app/i18n/zh.js Normal file
View File

@@ -0,0 +1,180 @@
{
"global" : {
"save" : "保存",
"cancel" : "取消",
"delete" : "删除",
"required" : "必填",
"download" : "下载",
"link" : "链接",
"bookmark" : "书签",
"close" : "关闭",
"tags" : "Tags "
},
"tree" : {
"subscribe" : "订阅",
"import" : "导入",
"new_category" : "新的目录",
"all" : "所有",
"starred" : "加星标的订阅"
},
"subscribe" : {
"feed_url" : "订阅地址",
"feed_name" : "订阅名称",
"category" : "目录"
},
"import" : {
"google_reader_prefix" : "从现有的 Google Reader 导入 ",
"google_reader_suffix" : " 账号。",
"google_download" : "可选的, 上传订阅列表文件(.xml)。",
"google_download_link" : "从此处下载。",
"xml_file" : "OPML 文件"
},
"new_category" : {
"name" : "名称",
"parent" : "上一层"
},
"toolbar" : {
"unread" : "未读",
"all" : "所有",
"previous_entry" : "上一条目",
"next_entry" : "下一条目",
"refresh" : "刷新",
"refresh_all" : "刷新所有订阅",
"sort_by_asc_desc" : "按日期升序/降序排序",
"titles_only" : "仅显示标题",
"expanded_view" : "显示内容",
"mark_all_as_read" : "标记所有为已读",
"mark_all_older_12_hours" : "Items older than 12 hours ",
"mark_all_older_day" : "早于一天的条目",
"mark_all_older_week" : "早于一周的条目",
"mark_all_older_two_weeks" : "早于两周的条目",
"settings" : "设置",
"profile" : "配置文件",
"admin" : "管理",
"about" : "关于",
"logout" : "退出",
"donate" : "捐赠"
},
"view" : {
"entry_source" : "来自",
"entry_author" : "作者",
"error_while_loading_feed" : "加载该订阅出现错误",
"keep_unread" : "保持未读",
"no_unread_items" : "没有未读的条目。",
"mark_up_to_here" : "标记为已读至本条目",
"search_for" : "searching for: ",
"no_search_results" : "No match found for the requested keywords "
},
"feedsearch" : {
"hint" : "输入订阅",
"help" : "使用方向键浏览,回车键选择",
"result_prefix" : "你的订阅:"
},
"settings" : {
"general" : {
"value" : "常规",
"language" : "语言",
"language_contribute" : "贡献翻译",
"show_unread" : "显示未读的订阅和目录条目",
"social_buttons" : "显示分享按钮",
"scroll_marks" : "在扩展视图中,可滚动条目将其标记为已读"
},
"appearance" : "外观",
"scroll_speed" : "Scrolling speed when navigating between entries (in milliseconds) ",
"scroll_speed_help" : "set to 0 to disable ",
"theme" : "主题",
"submit_your_theme" : "提交你的主题",
"custom_css" : "自定义 CSS 样式"
},
"details" : {
"feed_details" : "订阅详情",
"url" : "地址",
"website" : "站点",
"name" : "名称",
"category" : "目录",
"position" : "位置",
"last_refresh" : "上一次刷新",
"message" : "Last refresh message ",
"next_refresh" : "下一次刷新",
"queued_for_refresh" : "放入等待刷新的队列",
"feed_url" : "订阅地址",
"generate_api_key_first" : "在您的配置文件中首先生成一个 API 密钥。",
"unsubscribe" : "取消订阅",
"unsubscribe_confirmation" : "Are you sure you want to unsubscribe from this feed? ",
"delete_category_confirmation" : "Are you sure you want to delete this category? ",
"category_details" : "目录详情",
"tag_details" : "Tag details ",
"parent_category" : "上一层目录"
},
"profile" : {
"user_name" : "用户名",
"email" : "邮箱",
"change_password" : "修改密码",
"confirm_password" : "确认密码",
"minimum_6_chars" : "最少为 6 个字母",
"passwords_do_not_match" : "密码不匹配",
"api_key" : "API 密钥",
"api_key_not_generated" : "API 密钥尚未生成",
"generate_new_api_key" : "生成一个新的 API 密钥",
"generate_new_api_key_info" : "修改密码将会生成一个新的的 API 密钥",
"opml_export" : "导出 OPML",
"delete_account" : "删除帐号",
"delete_account_confirmation" : "Delete your acount? There's no turning back! "
},
"about" : {
"rest_api" : {
"value" : "重置 API",
"line1" : "CommaFeed 基于 JAX-RS 和 AngularJS。所以可选择重置 API。",
"link_to_documentation" : "文档链接."
},
"keyboard_shortcuts" : "快捷键",
"version" : "CommaFeed 版本",
"line1_prefix" : "CommaFeed 是一个开源项目,项目源码保存在 ",
"line1_suffix" : "。",
"line2_prefix" : "如果遇到问题,请到问题报告页面提交 ",
"line2_suffix" : " 项目。",
"line3" : "如果你喜欢本项目,请考虑捐赠来支援开发人员工作以及服务器开支。",
"line4" : "如果你想要使用 Bitcoin ,这里是我们的 Bitcoin 地址",
"goodies" : {
"value" : "扩展",
"android_app" : "Android 应用",
"subscribe_url" : "订阅地址",
"chrome_extension" : "Chrome 扩展",
"firefox_extension" : "Firefox 扩展",
"opera_extension" : "Opera 扩展",
"subscribe_bookmarklet" : "添加一个订阅书签 (点击这) ",
"subscribe_bookmarklet_asc" : "旧条目优先",
"subscribe_bookmarklet_desc" : "新条目优先",
"next_unread_bookmarklet" : "最新未读文章书签 (拖动到书签栏上) "
},
"translation" : {
"value" : "翻译",
"message" : "我们需要您来帮助翻译 CommaFeed。",
"link" : "查看如何贡献翻译。"
},
"announcements" : "声明",
"shortcuts" : {
"mouse_middleclick" : "鼠标中键点击",
"open_next_entry" : "打开下一个条目",
"open_previous_entry" : "打开上一个条目",
"spacebar" : "空格/shift+空格",
"move_page_down_up" : "将页面向下/上移动",
"focus_next_entry" : "移动到下一个条目但不打开",
"focus_previous_entry" : "移动到上一个条目但不打开",
"open_next_feed" : "打开下一个订阅或目录",
"open_previous_feed" : "打开上一个订阅或目录",
"open_close_current_entry" : "打开/关闭当前条目",
"open_current_entry_in_new_window" : "在新窗口中打开当前条目",
"open_current_entry_in_new_window_background" : "在后台新窗口中打开当前条目",
"star_unstar" : "该条目加注/取消星标",
"mark_current_entry" : "标记当前条目为已读/未读",
"mark_all_as_read" : "标记所有条目为已读",
"open_in_new_tab_mark_as_read" : "在新的窗口中打开条目并标记为已读",
"fullscreen" : "全屏模式",
"font_size" : "增大/缩小本条目字体",
"go_to_all" : "跳转到‘全部’页面",
"go_to_starred" : "跳转到‘加星标’页面",
"feed_search" : "输入订阅名称来导航至相应订阅"
}
}
}

View File

@@ -51,6 +51,9 @@
<script type="text/javascript" src="lib/angular-animate/angular-animate.js"></script>
<script type="text/javascript" src="lib/angular-bootstrap/ui-bootstrap-tpls.js"></script>
<script type="text/javascript" src="lib/angular-loading-bar/build/loading-bar.js"></script>
<script type="text/javascript" src="lib/angular-translate/angular-translate.js"></script>
<script type="text/javascript" src="lib/angular-translate-loader-static-files/angular-translate-loader-static-files.js"></script>
<script type="text/javascript" src="lib/ngInfiniteScroll/build/ng-infinite-scroll.js"></script>
<script type="text/javascript" src="lib/ng-grid/build/ng-grid.js"></script>
<script type="text/javascript" src="lib/angular-ui-router/release/angular-ui-router.js"></script>
@@ -66,6 +69,7 @@
<script type="text/javascript" src="js/filters.js"></script>
<script type="text/javascript" src="js/main.js"></script>
<script type="text/javascript" src="js/services.js"></script>
<script type="text/javascript" src="js/i18n.js"></script>
<script type="text/javascript" src="js/templates.js"></script>
<!-- endbuild -->

View File

@@ -1358,12 +1358,12 @@ module.controller('ManageUserCtrl', ['$scope', '$state', '$stateParams', 'AdminU
};
}]);
module.controller('SettingsCtrl', ['$scope', '$location', 'SettingsService', 'AnalyticsService', 'ServerService',
function($scope, $location, SettingsService, AnalyticsService, ServerService) {
module.controller('SettingsCtrl', ['$scope', '$location', 'SettingsService', 'AnalyticsService', 'LangService',
function($scope, $location, SettingsService, AnalyticsService, LangService) {
AnalyticsService.track();
$scope.ServerService = ServerService.get();
$scope.langs = LangService.langs;
$scope.themes = ['default', 'bootstrap', 'dark', 'ebraminio', 'MRACHINI', 'svetla', 'third'];
@@ -1487,18 +1487,19 @@ module.controller('LoginCtrl', ['$scope', '$location', 'SessionService', functio
};
}]);
module.controller('RegisterCtrl', ['$scope', '$location', 'SessionService', 'ServerService', function($scope, $location, SessionService, ServerService) {
$scope.ServerService = ServerService.get();
$scope.model = {};
module.controller('RegisterCtrl', ['$scope', '$location', 'SessionService', 'ServerService',
function($scope, $location, SessionService, ServerService) {
$scope.ServerService = ServerService.get();
$scope.model = {};
$scope.register = function() {
var success = function(data) {
$location.path('/');
$scope.$emit('emitReload');
};
var error = function(data) {
$scope.messages = data.data.errors;
};
SessionService.register($scope.model, success, error);
}
}]);
$scope.register = function() {
var success = function(data) {
$location.path('/');
$scope.$emit('emitReload');
};
var error = function(data) {
$scope.messages = data.data.errors;
};
SessionService.register($scope.model, success, error);
}
}]);

View File

@@ -21,7 +21,7 @@ module.directive('confirmClick', [function() {
restrict : 'A',
link : function(scope, element, attrs) {
element.bind('click', function(e) {
var message = attrs.confirmClick;
var message = scope.$eval(attrs.confirmClick);
if (message && !confirm(message)) {
e.stopImmediatePropagation();
e.preventDefault();

34
src/main/app/js/i18n.js Normal file
View File

@@ -0,0 +1,34 @@
var module = angular.module('commafeed.i18n', []);
module.service('LangService', [function() {
this.langs = {
'ar': 'العربية',
'ca': 'Català',
'en': 'English',
'es': 'Español',
'de': 'Deutsch',
'fa': 'فارسی',
'fr': 'Français',
'gl': 'Galician',
'glk': 'گیلکی',
'hu': 'Magyar',
'ja': '日本語',
'ko': '한국어',
'nl': 'Nederlands',
'nb': 'Norsk (bokmål)',
'nn': 'Norsk (nynorsk)',
'pt': 'Português',
'pl': 'Polski',
'ru': 'русский',
'fi': 'Suomi',
'sv': 'Svenska',
'zh': '简体中文',
'it': 'Italiano',
'tr': 'Türkçe',
'cy': 'Cymraeg',
'sk': 'Slovenčina',
'da': 'Danish',
'cs': 'Čeština',
'ms': 'Bahasa Malaysian'
}
}]);

View File

@@ -1,10 +1,25 @@
var app = angular.module('commafeed', ['ngRoute', 'ngTouch', 'ngAnimate', 'ui.utils', 'ui.bootstrap', 'ui.router', 'ui.select2',
'commafeed.directives', 'commafeed.controllers', 'commafeed.services', 'commafeed.filters', 'ngSanitize', 'infinite-scroll',
'ngGrid', 'chieffancypants.loadingBar']);
'commafeed.directives', 'commafeed.controllers', 'commafeed.services', 'commafeed.filters', 'commafeed.i18n', 'ngSanitize',
'infinite-scroll', 'ngGrid', 'chieffancypants.loadingBar', 'pascalprecht.translate']);
app.config([
'$routeProvider',
'$stateProvider',
'$urlRouterProvider',
'$httpProvider',
'$compileProvider',
'cfpLoadingBarProvider',
'$translateProvider',
function($routeProvider, $stateProvider, $urlRouterProvider, $httpProvider, $compileProvider, cfpLoadingBarProvider,
$translateProvider) {
// $translateProvider.useLocalStorage();
$translateProvider.useStaticFilesLoader({
prefix : '/i18n/',
suffix : '.js'
});
$translateProvider.preferredLanguage('en');
app.config(['$routeProvider', '$stateProvider', '$urlRouterProvider', '$httpProvider', '$compileProvider', 'cfpLoadingBarProvider',
function($routeProvider, $stateProvider, $urlRouterProvider, $httpProvider, $compileProvider, cfpLoadingBarProvider) {
cfpLoadingBarProvider.includeSpinner = false;
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|javascript):/);
@@ -121,7 +136,7 @@ app.config(['$routeProvider', '$stateProvider', '$urlRouterProvider', '$httpProv
templateUrl : 'templates/admin.metrics.html',
controller : 'MetricsCtrl'
});
$stateProvider.state('welcome', {
url : '/welcome',
templateUrl : 'templates/welcome.html'

View File

@@ -39,7 +39,7 @@ module.factory('SessionService', ['$resource', function($resource) {
return res;
}]);
module.factory('SettingsService', ['$resource', function($resource) {
module.factory('SettingsService', ['$resource', '$translate', function($resource, $translate) {
var res = $resource('rest/user/settings');
var s = {};
@@ -61,6 +61,7 @@ module.factory('SettingsService', ['$resource', function($resource) {
lang = 'ms-my';
}
moment.lang(lang, {});
$translate.use(lang);
if (callback) {
callback(data);
}

View File

@@ -6,13 +6,13 @@
<button type="button" class="close" ng-click="close()">&times;</button>
<h4>
<input ng-model="filter" class="filter-input"
ui-keydown="{'up': 'focusPrevious($event)', 'down': 'focusNext($event)', 'enter': 'openFocused()' }" placeholder="${feedsearch.hint}"
ui-keydown="{'up': 'focusPrevious($event)', 'down': 'focusNext($event)', 'enter': 'openFocused()' }" placeholder="'feedsearch.hint' | translate"
focus="feedSearchModal">
</h4>
<small>${feedsearch.help}</small>
<small>{{ 'feedsearch.help' | translate }}</small>
</div>
<div class="modal-body">
<strong>${feedsearch.result_prefix}</strong>
<strong>{{ 'feedsearch.result_prefix' | translate }}</strong>
<span ng-repeat="feed in (filtered = (CategoryService.feeds | filter:{name: filter} | limitTo:40))">
<span ng-class="{block: filter, focus: focus.id == feed.id}" class="feed-link">
<a class=" pointer" ng-click="goToFeed(feed.id)">

View File

@@ -1,71 +1,71 @@
<dl class="dl-horizontal">
<dt>j</dt>
<dd>${about.shortcuts.open_next_entry}</dd>
<dd>{{ 'about.shortcuts.open_next_entry' | translate }}</dd>
<dt>k</dt>
<dd>${about.shortcuts.open_previous_entry}</dd>
<dd>{{ 'about.shortcuts.open_previous_entry' | translate }}</dd>
<dt>${about.shortcuts.spacebar}</dt>
<dd>${about.shortcuts.move_page_down_up}</dd>
<dt>{{ 'about.shortcuts.spacebar' | translate }}</dt>
<dd>{{ 'about.shortcuts.move_page_down_up' | translate }}</dd>
<dt>n</dt>
<dd>${about.shortcuts.focus_next_entry}</dd>
<dd>{{ 'about.shortcuts.focus_next_entry' | translate }}</dd>
<dt>p</dt>
<dd>${about.shortcuts.focus_previous_entry}</dd>
<dd>{{ 'about.shortcuts.focus_previous_entry' | translate }}</dd>
<dt>shift+j,shift+n</dt>
<dd>${about.shortcuts.open_next_feed}</dd>
<dd>{{ 'about.shortcuts.open_next_feed' | translate }}</dd>
<dt>shift+k,shift+p</dt>
<dd>${about.shortcuts.open_previous_feed}</dd>
<dd>{{ 'about.shortcuts.open_previous_feed' | translate }}</dd>
<dt>o, enter</dt>
<dd>${about.shortcuts.open_close_current_entry}</dd>
<dd>{{ 'about.shortcuts.open_close_current_entry' | translate }}</dd>
<dt>v</dt>
<dd>${about.shortcuts.open_current_entry_in_new_window}</dd>
<dd>{{ 'about.shortcuts.open_current_entry_in_new_window' | translate }}</dd>
<dt>b</dt>
<dd>${about.shortcuts.open_current_entry_in_new_window_background}</dd>
<dd>{{ 'about.shortcuts.open_current_entry_in_new_window_background' | translate }}</dd>
<dt>s</dt>
<dd>${about.shortcuts.star_unstar}</dd>
<dd>{{ 'about.shortcuts.star_unstar' | translate }}</dd>
<dt>m</dt>
<dd>${about.shortcuts.mark_current_entry}</dd>
<dd>{{ 'about.shortcuts.mark_current_entry' | translate }}</dd>
<dt>shift+a</dt>
<dd>${about.shortcuts.mark_all_as_read}</dd>
<dd>{{ 'about.shortcuts.mark_all_as_read' | translate }}</dd>
<dt>${about.shortcuts.mouse_middleclick}</dt>
<dd>${about.shortcuts.open_in_new_tab_mark_as_read}</dd>
<dt>{{ 'about.shortcuts.mouse_middleclick' | translate }}</dt>
<dd>{{ 'about.shortcuts.open_in_new_tab_mark_as_read' | translate }}</dd>
<dt>f</dt>
<dd>${about.shortcuts.fullscreen}</dd>
<dd>{{ 'about.shortcuts.fullscreen' | translate }}</dd>
<dt>+,-</dt>
<dd>${about.shortcuts.font_size}</dd>
<dd>{{ 'about.shortcuts.font_size' | translate }}</dd>
<dt>
g
<i class="icon-arrow-right"></i>
a
</dt>
<dd>${about.shortcuts.go_to_all}</dd>
<dd>{{ 'about.shortcuts.go_to_all' | translate }}</dd>
<dt>
g
<i class="icon-arrow-right"></i>
s
</dt>
<dd>${about.shortcuts.go_to_starred}</dd>
<dd>{{ 'about.shortcuts.go_to_starred' | translate }}</dd>
<dt>
g
<i class="icon-arrow-right"></i>
u
</dt>
<dd>${about.shortcuts.feed_search}</dd>
<dd>{{ 'about.shortcuts.feed_search' | translate }}</dd>
</dl>

View File

@@ -1,7 +1,7 @@
<span>
<a ng-click="edit_mode=!edit_mode" class="nolink pointer">
<i class="icon-tags"></i>
${global.tags}
{{ 'global.tags' | translate }}
</a>
<span ng-if="!edit_mode">
<span class="label label-info" ng-repeat="tag in entry.tags">{{tag}}</span>

View File

@@ -7,14 +7,14 @@
</div>
<div class="btn-group">
<a type="button" class="btn btn-default" ng-click="previousEntry()" title="${toolbar.previous_entry}">
<a type="button" class="btn btn-default" ng-click="previousEntry()" title="{{ 'toolbar.previous_entry' | translate }}">
<i class="icon-chevron-up"></i>
</a>
<a type="button" class="btn btn-default" ng-click="nextEntry()" title="${toolbar.next_entry}">
<a type="button" class="btn btn-default" ng-click="nextEntry()" title="{{ 'toolbar.next_entry' | translate }}">
<i class="icon-chevron-down"></i>
</a>
<div class="btn-group">
<a type="button" class="btn btn-default" ng-click="refresh()" title="${toolbar.refresh}">
<a type="button" class="btn btn-default" ng-click="refresh()" title="{{ 'toolbar.refresh' | translate }}">
<i class="icon-refresh"></i>
</a>
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
@@ -22,14 +22,14 @@
</button>
<ul class="dropdown-menu pull-right">
<li>
<a ng-click="refreshAll()">${toolbar.refresh_all}</a>
<a ng-click="refreshAll()">{{ 'toolbar.refresh_all' | translate }}</a>
</li>
</ul>
</div>
</div>
<div class="btn-group">
<a type="button" class="btn btn-default" ng-click="markAllAsRead()" title="${toolbar.mark_all_as_read}">
<a type="button" class="btn btn-default" ng-click="markAllAsRead()" title="{{ 'toolbar.mark_all_as_read' | translate }}">
<i class="icon-ok"></i>
</a>
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
@@ -37,16 +37,16 @@
</button>
<ul class="dropdown-menu pull-right">
<li>
<a ng-click="markAll12Hours()">${toolbar.mark_all_older_12_hours}</a>
<a ng-click="markAll12Hours()">{{ 'toolbar.mark_all_older_12_hours' | translate }}</a>
</li>
<li>
<a ng-click="markAllDay()">${toolbar.mark_all_older_day}</a>
<a ng-click="markAllDay()">{{ 'toolbar.mark_all_older_day' | translate }}</a>
</li>
<li>
<a ng-click="markAllWeek()">${toolbar.mark_all_older_week}</a>
<a ng-click="markAllWeek()">{{ 'toolbar.mark_all_older_week' | translate }}</a>
</li>
<li>
<a ng-click="markAllTwoWeeks()">${toolbar.mark_all_older_two_weeks}</a>
<a ng-click="markAllTwoWeeks()">{{ 'toolbar.mark_all_older_two_weeks' | translate }}</a>
</li>
</ul>
</div>
@@ -61,13 +61,13 @@
<div ng-if="!MobileService.mobile || MobileService.rightMenu">
<div class="btn-group read-mode">
<button type="button" class="btn btn-default" ng-click="settingsService.settings.readingMode = 'unread'"
ng-class="{'active': settingsService.settings.readingMode == 'unread'}">${toolbar.unread}</button>
ng-class="{'active': settingsService.settings.readingMode == 'unread'}">{{ 'toolbar.unread' | translate }}</button>
<button type="button" class="btn btn-default" ng-click="settingsService.settings.readingMode = 'all'"
ng-class="{'active': settingsService.settings.readingMode == 'all'}">${toolbar.all}</button>
ng-class="{'active': settingsService.settings.readingMode == 'all'}">{{ 'toolbar.all' | translate }}</button>
</div>
<div class="btn-group">
<a type="button" class="btn btn-default" ng-click="toggleOrder()" title="${toolbar.sort_by_asc_desc}">
<a type="button" class="btn btn-default" ng-click="toggleOrder()" title="{{ 'toolbar.sort_by_asc_desc' | translate }}">
<i
ng-class="{'icon-arrow-up' : settingsService.settings.readingOrder == 'asc', 'icon-arrow-down': settingsService.settings.readingOrder == 'desc'}"></i>
</a>
@@ -75,17 +75,17 @@
<div class="btn-group">
<a type="button" class="btn btn-default" ng-click="settingsService.settings.viewMode = 'title'"
ng-class="{'active': settingsService.settings.viewMode == 'title'}" title="${toolbar.titles_only}">
ng-class="{'active': settingsService.settings.viewMode == 'title'}" title="{{ 'toolbar.titles_only' | translate }}">
<i class="icon-list"></i>
</a>
<a type="button" class="btn btn-default" ng-click="settingsService.settings.viewMode = 'expanded'"
ng-class="{'active': settingsService.settings.viewMode == 'expanded'}" title="${toolbar.expanded_view}">
ng-class="{'active': settingsService.settings.viewMode == 'expanded'}" title="{{ 'toolbar.expanded_view' | translate }}">
<i class="icon-th-list"></i>
</a>
</div>
<div class="btn-group">
<a class="btn btn-default" ng-click="toSettings()" title="${toolbar.settings}">
<a class="btn btn-default" ng-click="toSettings()" title="{{ 'toolbar.settings' | translate }}">
<i class="icon-cog"></i>
</a>
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
@@ -95,20 +95,20 @@
<li>
<a ng-click="toProfile()">
<i class="icon-user"></i>
${toolbar.profile}
{{ 'toolbar.profile' | translate }}
</a>
</li>
<li ng-show="session.admin">
<a ng-click="toAdmin()">
<i class="icon-edit"></i>
${toolbar.admin}
{{ 'toolbar.admin' | translate }}
</a>
</li>
<li class="divider"></li>
<li>
<a href="logout">
<i class="icon-off"></i>
${toolbar.logout}
{{ 'toolbar.logout' | translate }}
</a>
</li>
</ul>
@@ -124,7 +124,7 @@
</form>
</div>
<div class="btn-group donate">
<a class="btn btn-success" type="button" ng-click="toHelp()" title="${toolbar.about} / ${toolbar.donate}">
<a class="btn btn-success" type="button" ng-click="toHelp()" title="{{ 'toolbar.about} / ${toolbar.donate' | translate }}">
<i class="icon-info-sign"></i>
</a>
</div>

View File

@@ -3,7 +3,7 @@
<div class="btn-group">
<button class="btn btn-default" ui-sref="feeds.subscribe" ng-click="MobileService.toggleLeftMenu()">
<span class="icon-rss"></span>
${tree.subscribe}
{{ 'tree.subscribe' | translate }}
</button>
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
@@ -12,13 +12,13 @@
<li>
<a ui-sref="feeds.new_category" ng-click="MobileService.toggleLeftMenu()">
<i class="icon-plus"></i>
${tree.new_category}
{{ 'tree.new_category' | translate }}
</a>
</li>
<li>
<a ui-sref="feeds.import" ng-click="MobileService.toggleLeftMenu()">
<i class="icon-arrow-down"></i>
${tree.import}
{{ 'tree.import' | translate }}
</a>
</li>
</ul>
@@ -27,15 +27,15 @@
<div class="btn-group">
<button type="button" class="btn btn-default" ng-click="MobileService.toggleLeftMenu()" ng-if="MobileService.mobile">
<i class="icon-remove"></i>
${global.close}
{{ 'global.close' | translate }}
</button>
</div>
<div class="css-treeview">
<ul>
<category node="CategoryService.subscriptions" show-label="'${tree.all}'" show-children="false" level="0" selected-type="selectedType"
<category node="CategoryService.subscriptions" show-label="'tree.all' | translate" show-children="false" level="0" selected-type="selectedType"
selected-id="selectedId" unread-count="unreadCount(category)"> </category>
<category node="starred" show-label="'${tree.starred}'" show-children="false" level="0" selected-type="selectedType"
<category node="starred" show-label="'tree.starred' | translate" show-children="false" level="0" selected-type="selectedType"
selected-id="selectedId" unread-count="unreadCount(category)"> </category>
<category node="CategoryService.subscriptions" show-label="false" show-children="true" level="0" selected-type="selectedType"
selected-id="selectedId" unread-count="unreadCount(category)"> </category>

View File

@@ -1,47 +1,47 @@
<div>
<div class="page-header">
<h3>${details.category_details}</h3>
<h3>{{ 'details.category_details' | translate }}</h3>
</div>
<form name="form" class="form-horizontal" ng-submit="save()">
<div class="form-group" ng-class="{error : !form.name.$valid}" ng-if="!isMeta()">
<label class="col-sm-2 control-label">${details.name}</label>
<label class="col-sm-2 control-label">{{ 'details.name' | translate }}</label>
<div class="col-sm-10">
<input type="text" name="name" ng-model="category.name" class="form-control" required></input>
<span class="help-block" ng-show="!form.name.$valid">${global.required}</span>
<span class="help-block" ng-show="!form.name.$valid">{{ 'global.required' | translate }}</span>
</div>
</div>
<div class="form-group" ng-class="{error : !form.category.$valid}" ng-if="!isMeta()">
<label class="col-sm-2 control-label">${details.parent_category}</label>
<label class="col-sm-2 control-label">{{ 'details.parent_category' | translate }}</label>
<div class="col-sm-10">
<select name="category" class="form-control" ng-model="category.parentId"
ng-options="cat.id as cat.name for cat in CategoryService.flatCategories | filter: filterCurrent">
</select>
<span class="help-block" ng-show="!form.category.$valid">${global.required}</span>
<span class="help-block" ng-show="!form.category.$valid">{{ 'global.required' | translate }}</span>
</div>
</div>
<div class="form-group" ng-if="!isMeta()">
<label class="col-sm-2 control-label">${details.position}</label>
<label class="col-sm-2 control-label">{{ 'details.position' | translate }}</label>
<div class="col-sm-10">
<input type="number" min="0" ng-model="category.position" class="form-control" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">${details.feed_url}</label>
<label class="col-sm-2 control-label">{{ 'details.feed_url' | translate }}</label>
<div class="col-sm-10 checkbox">
<a ng-show="user.apiKey" href="{{'rest/category/entriesAsFeed?id=' + category.id + '&apiKey=' + user.apiKey}}" target="_blank">${global.link}</a>
<span ng-show="!user.apiKey">${details.generate_api_key_first}</span>
<a ng-show="user.apiKey" href="{{'rest/category/entriesAsFeed?id=' + category.id + '&apiKey=' + user.apiKey}}" target="_blank">{{ 'global.link' | translate }}</a>
<span ng-show="!user.apiKey">{{ 'details.generate_api_key_first' | translate }}</span>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary" ng-if="!isMeta()">${global.save}</button>
<button type="submit" class="btn btn-primary" ng-if="!isMeta()">{{ 'global.save' | translate }}</button>
<button type="button" class="btn btn-danger" ng-click="deleteCategory()" ng-show="!isMeta()"
confirm-click="${details.delete_category_confirmation}">${global.delete}</button>
<button type="button" class="btn btn-default" ng-click="back()">${global.cancel}</button>
confirm-click="{{ 'details.delete_category_confirmation}">{{ 'global.delete' | translate }}</button>
<button type="button" class="btn btn-default" ng-click="back()">{{ 'global.cancel' | translate }}</button>
</div>
</div>
</form>

View File

@@ -1,79 +1,79 @@
<div>
<div class="page-header">
<h3>${details.feed_details}</h3>
<h3>{{ 'details.feed_details' | translate }}</h3>
</div>
<form name="form" class="form-horizontal" ng-submit="save()">
<div class="form-group">
<label class="col-sm-2 control-label">${details.url}</label>
<label class="col-sm-2 control-label">{{ 'details.url' | translate }}</label>
<div class="col-sm-10 checkbox">
<a href="{{sub.feedUrl}}" target="_blank">{{sub.feedUrl}}</a>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">${details.website}</label>
<label class="col-sm-2 control-label">{{ 'details.website' | translate }}</label>
<div class="col-sm-10 checkbox">
<a href="{{sub.feedLink}}" target="_blank">{{sub.feedLink}}</a>
</div>
</div>
<div class="form-group" ng-class="{error : !form.name.$valid}">
<label class="col-sm-2 control-label">${details.name}</label>
<label class="col-sm-2 control-label">{{ 'details.name' | translate }}</label>
<div class="col-sm-10">
<input type="text" name="name" ng-model="sub.name" class="form-control" required></input>
<span class="help-block" ng-show="!form.name.$valid">${global.required}</span>
<span class="help-block" ng-show="!form.name.$valid">{{ 'global.required' | translate }}</span>
</div>
</div>
<div class="form-group" ng-class="{error : !form.category.$valid}">
<label class="col-sm-2 control-label">${details.category}</label>
<label class="col-sm-2 control-label">{{ 'details.category' | translate }}</label>
<div class="col-sm-10">
<select name="category" class="form-control" ng-model="sub.categoryId"
ng-options="cat.id as cat.name for cat in CategoryService.flatCategories">
</select>
<span class="help-block" ng-show="!form.category.$valid">${global.required}</span>
<span class="help-block" ng-show="!form.category.$valid">{{ 'global.required' | translate }}</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">${details.position}</label>
<label class="col-sm-2 control-label">{{ 'details.position' | translate }}</label>
<div class="col-sm-10">
<input type="number" min="0" ng-model="sub.position" class="form-control" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">${details.last_refresh}</label>
<label class="col-sm-2 control-label">{{ 'details.last_refresh' | translate }}</label>
<div class="col-sm-10 checkbox">
<span>{{sub.lastRefresh|entryDate}}</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">${details.next_refresh}</label>
<label class="col-sm-2 control-label">{{ 'details.next_refresh' | translate }}</label>
<div class="col-sm-10 checkbox">
<span>{{sub.nextRefresh|entryDate:"${details.queued_for_refresh}" }}</span>
<span>{{sub.nextRefresh|entryDate:('details.queued_for_refresh' | translate) }}</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">${details.message}</label>
<label class="col-sm-2 control-label">{{ 'details.message' | translate }}</label>
<div class="col-sm-10 checkbox">
<span>{{sub.message}}</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">${details.feed_url}</label>
<label class="col-sm-2 control-label">{{ 'details.feed_url' | translate }}</label>
<div class="col-sm-10 checkbox">
<a ng-show="user.apiKey" href="{{'rest/feed/entriesAsFeed?id=' + sub.id + '&apiKey=' + user.apiKey}}" target="_blank">${global.link}</a>
<span ng-show="!user.apiKey">${details.generate_api_key_first}</span>
<a ng-show="user.apiKey" href="{{'rest/feed/entriesAsFeed?id=' + sub.id + '&apiKey=' + user.apiKey}}" target="_blank">{{ 'global.link' | translate }}</a>
<span ng-show="!user.apiKey">{{ 'details.generate_api_key_first' | translate }}</span>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary">${global.save}</button>
<button type="button" class="btn btn-danger" ng-click="unsubscribe()" confirm-click="${details.unsubscribe_confirmation}">${details.unsubscribe}</button>
<button type="button" class="btn btn-default" ng-click="back()">${global.cancel}</button>
<button type="submit" class="btn btn-primary">{{ 'global.save' | translate }}</button>
<button type="button" class="btn btn-danger" ng-click="unsubscribe()" confirm-click="'details.unsubscribe_confirmation' | translate">{{ 'details.unsubscribe' | translate }}</button>
<button type="button" class="btn btn-default" ng-click="back()">{{ 'global.cancel' | translate }}</button>
</div>
</div>
</form>

View File

@@ -4,27 +4,27 @@
<div class="about-module">
<h4>
<i class="icon-question-sign"></i>
${toolbar.about}
{{ 'toolbar.about' | translate }}
</h4>
<p>
${about.line1_prefix}
{{ 'about.line1_prefix' | translate }}
<a href="https://github.com/Athou/commafeed" target="_blank">GitHub</a>
${about.line1_suffix}
{{ 'about.line1_suffix' | translate }}
</p>
<p>
${about.line2_prefix}
{{ 'about.line2_prefix' | translate }}
<a href="https://github.com/Athou/commafeed/issues" target="_blank">GitHub</a>
${about.line2_suffix}
{{ 'about.line2_suffix' | translate }}
</p>
${about.version} {{infos.version}} ({{infos.gitCommit}})
{{ 'about.version' | translate }} {{infos.version}} ({{infos.gitCommit}})
</div>
<div class="about-module">
<h4>
<i class="icon-money"></i>
${toolbar.donate}
{{ 'toolbar.donate' | translate }}
</h4>
<p>${about.line3}</p>
<p>{{ 'about.line3' | translate }}</p>
<form class="donate-action" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_donations">
<input type="hidden" name="business" value="9CNQHMJG2ZJVY">
@@ -39,17 +39,17 @@
<option value="USD">US Dollars</option>
</select>
</form>
${about.line4}
{{ 'about.line4' | translate }}
<code class="bitcoin-code">1dymfUxqCWpyD7a6rQSqNy4rLVDBsAr5e</code>
</div>
<div class="about-module">
<h4>
<i class="icon-puzzle-piece"></i>
${about.goodies}
{{ 'about.goodies.value' | translate }}
</h4>
<p>
${about.goodies.android_app}:
{{ 'about.goodies.android_app' | translate }}:
<a href="https://github.com/Athou/commafeed-newsplus" target="_blank">News+ extension</a>
,
<a href="https://play.google.com/store/apps/details?id=com.commafeed.commafeedreader" target="_blank">CommaFeed Reader</a>
@@ -57,57 +57,57 @@
<a href="https://play.google.com/store/apps/details?id=com.mv.cloudfeedlr" target="_blank">Cloudfeedlr</a>
</p>
<p>
<a href="https://chrome.google.com/webstore/detail/commafeed/bpbfpjiciblcfeganojjkfapnllbhdga" target="_blank">${about.goodies.chrome_extension}</a>
<a href="https://chrome.google.com/webstore/detail/commafeed/bpbfpjiciblcfeganojjkfapnllbhdga" target="_blank">{{ 'about.goodies.chrome_extension' | translate }}</a>
</p>
<p>
<a href="https://addons.mozilla.org/en-US/firefox/addon/commafeed/" target="_blank">${about.goodies.firefox_extension}</a>
<a href="https://addons.mozilla.org/en-US/firefox/addon/commafeed/" target="_blank">{{ 'about.goodies.firefox_extension' | translate }}</a>
</p>
<p>
<a href="https://addons.opera.com/en/extensions/details/commafeed-extension-for-opera/" target="_blank">${about.goodies.opera_extension}</a>
<a href="https://addons.opera.com/en/extensions/details/commafeed-extension-for-opera/" target="_blank">{{ 'about.goodies.opera_extension' | translate }}</a>
</p>
<p>
${about.goodies.subscribe_url}:
{{ 'about.goodies.subscribe_url' | translate }}:
<a href="rest/feed/subscribe?url=FEED_URL_HERE" target="_blank">rest/feed/subscribe?url=FEED_URL_HERE</a>
</p>
<p>
${about.goodies.subscribe_bookmarklet}:
{{ 'about.goodies.subscribe_bookmarklet' | translate }}:
<a href="https://www.subtome.com/settings.html" target="_blank">SubToMe</a>
</p>
<p>
${about.goodies.next_unread_bookmarklet}:
{{ 'about.goodies.next_unread_bookmarklet' | translate }}:
<br />
<br />
${subscribe.category}
{{ 'subscribe.category' | translate }}
<select ng-model="categoryId" ng-options="cat.id as cat.name for cat in CategoryService.flatCategories" class="bookmarklet-select">
</select>
<select ng-model="order" class="bookmarklet-select">
<option value="desc">${about.goodies.subscribe_bookmarklet_desc}</option>
<option value="asc">${about.goodies.subscribe_bookmarklet_asc}</option>
<option value="desc">{{ 'about.goodies.subscribe_bookmarklet_desc' | translate }}</option>
<option value="asc">{{ 'about.goodies.subscribe_bookmarklet_asc' | translate }}</option>
</select>
<a href="javascript:window.location.href='{{baseUrl}}next?category={{categoryId}}&order={{order}}&t='+new Date().getTime();"
target="_blank">${global.link}</a>
target="_blank">{{ 'global.link' | translate }}</a>
</p>
</div>
<div class="about-module">
<h4>
<i class="icon-globe"></i>
${about.translation}
{{ 'about.translation.value' | translate }}
</h4>
<p>${about.translation.message}</p>
<p>{{ 'about.translation.message' | translate }}</p>
<p>
<a href="https://github.com/Athou/commafeed#translate-commafeed-into-your-language" target="_blank"> ${about.translation.link} </a>
<a href="https://github.com/Athou/commafeed#translate-commafeed-into-your-language" target="_blank"> {{ 'about.translation.link' | translate }} </a>
</p>
</div>
<div class="about-module">
<h4>
<i class="icon-rocket"></i>
${about.rest_api}
{{ 'about.rest_api.value' | translate }}
</h4>
<p>${about.rest_api.line1}</p>
<p>{{ 'about.rest_api.line1' | translate }}</p>
<p>
<a href="api" target="_blank">${about.rest_api.link_to_documentation}</a>
<a href="api" target="_blank">{{ 'about.rest_api.link_to_documentation' | translate }}</a>
</p>
</div>
</div>
@@ -115,7 +115,7 @@
<div class="about-module">
<h4>
<i class="icon-keyboard"></i>
${about.keyboard_shortcuts}
{{ 'about.keyboard_shortcuts' | translate }}
</h4>
<div ng-include="'templates/_shortcuts.html'"></div>
</div>
@@ -123,7 +123,7 @@
<div class="about-module">
<h4>
<i class="icon-info-sign"></i>
${about.announcements}
{{ 'about.announcements' | translate }}
</h4>
<a class="twitter-timeline" href="https://twitter.com/CommaFeed" data-widget-id="333897786657480704">Tweets by @CommaFeed</a>
<script>

View File

@@ -1,18 +1,18 @@
<div>
<div class="page-header">
<h3>${tree.import}</h3>
<h3>{{ 'tree.import' | translate }}</h3>
</div>
<form class="form-horizontal" action="rest/feed/import" method="post" enctype="multipart/form-data">
<div class="form-group">
<label class="col-sm-2 control-label">${import.xml_file}</label>
<label class="col-sm-2 control-label">{{ 'import.xml_file' | translate }}</label>
<div class="col-sm-10 ">
<input type="file" name="file" class="form-control"></input>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button class="btn btn-primary ok" type="submit">${tree.import}</button>
<button type="button" class="btn btn-default cancel" ng-click="back()">${global.cancel}</button>
<button class="btn btn-primary ok" type="submit">{{ 'tree.import' | translate }}</button>
<button type="button" class="btn btn-default cancel" ng-click="back()">{{ 'global.cancel' | translate }}</button>
</div>
</div>
</form>

View File

@@ -1,28 +1,28 @@
<div>
<div class="page-header">
<h3>${tree.new_category}</h3>
<h3>{{ 'tree.new_category' | translate }}</h3>
</div>
<form name="categoryForm" class="form-horizontal" ng-submit="saveCategory()">
<div class="form-group" ng-class="{error : !categoryForm.name.$valid}">
<label class="col-sm-2 control-label">${new_category.name}</label>
<label class="col-sm-2 control-label">{{ 'new_category.name' | translate }}</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="name" ng-model="cat.name" required></input>
<span class="help-block" ng-show="!categoryForm.name.$valid">${global.required}</span>
<span class="help-block" ng-show="!categoryForm.name.$valid">{{ 'global.required' | translate }}</span>
</div>
</div>
<div class="form-group" ng-class="{error : !categoryForm.category.$valid}">
<label class="col-sm-2 control-label">${new_category.parent}</label>
<label class="col-sm-2 control-label">{{ 'new_category.parent' | translate }}</label>
<div class="col-sm-10">
<select name="category" ng-model="cat.parentId" class="form-control"
ng-options="cat.id as cat.name for cat in CategoryService.flatCategories" required>
</select>
<span class="help-block" ng-show="!categoryForm.category.$valid">${global.required}</span>
<span class="help-block" ng-show="!categoryForm.category.$valid">{{ 'global.required' | translate }}</span>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button class="btn btn-primary ok" type="submit">${global.save}</button>
<button type="button" class="btn btn-default cancel" ng-click="back()">${global.cancel}</button>
<button class="btn btn-primary ok" type="submit">{{ 'global.save' | translate }}</button>
<button type="button" class="btn btn-default cancel" ng-click="back()">{{ 'global.cancel' | translate }}</button>
</div>
</div>
</form>

View File

@@ -1,36 +1,36 @@
<div>
<div class="page-header">
<h3>${tree.subscribe}</h3>
<h3>{{ 'tree.subscribe' | translate }}</h3>
</div>
<form name="subscribeForm" class="form-horizontal" ng-submit="save()">
<div class="form-group" ng-class="{error : !subscribeForm.url.$valid}">
<label class="col-sm-2 control-label">${subscribe.feed_url}</label>
<label class="col-sm-2 control-label">{{ 'subscribe.feed_url' | translate }}</label>
<div class="col-sm-10">
<input type="text" name="url" ng-model="sub.url" ng-blur="urlChanged()" placeholder="http://example.com/feed" class="form-control"
required ng-disabled="state=='loading'" autofocus></input>
<span class="help-block" ng-show="!subscribeForm.url.$valid">${global.required}</span>
<span class="help-block" ng-show="!subscribeForm.url.$valid">{{ 'global.required' | translate }}</span>
</div>
</div>
<div class="form-group" ng-class="{error : !subscribeForm.title.$valid}">
<label class="col-sm-2 control-label">${subscribe.feed_name}</label>
<label class="col-sm-2 control-label">{{ 'subscribe.feed_name' | translate }}</label>
<div class="col-sm-10">
<input type="text" name="title" ng-model="sub.title" class="form-control" required ng-disabled="state=='loading'"></input>
<span class="help-block" ng-show="!subscribeForm.title.$valid">${global.required}</span>
<span class="help-block" ng-show="!subscribeForm.title.$valid">{{ 'global.required' | translate }}</span>
</div>
</div>
<div class="form-group" ng-class="{error : !subscribeForm.category.$valid}">
<label class="col-sm-2 control-label">${subscribe.category}</label>
<label class="col-sm-2 control-label">{{ 'subscribe.category' | translate }}</label>
<div class="col-sm-10">
<select name="category" ng-model="sub.categoryId" class="form-control"
ng-options="cat.id as cat.name for cat in CategoryService.flatCategories" required>
</select>
<span class="help-block" ng-show="!subscribeForm.category.$valid">${global.required}</span>
<span class="help-block" ng-show="!subscribeForm.category.$valid">{{ 'global.required' | translate }}</span>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button class="btn btn-primary ok" type="submit" ng-disabled="state!='ok'">${global.save}</button>
<button class="btn btn-default cancel" ng-click="back()" type="button">${global.cancel}</button>
<button class="btn btn-primary ok" type="submit" ng-disabled="state!='ok'">{{ 'global.save' | translate }}</button>
<button class="btn btn-default cancel" ng-click="back()" type="button">{{ 'global.cancel' | translate }}</button>
</div>
</div>
</form>

View File

@@ -1,21 +1,21 @@
<div>
<div class="page-header">
<h3>${details.tag_details}</h3>
<h3>{{ 'details.tag_details' | translate }}</h3>
</div>
<form name="form" class="form-horizontal" ng-submit="save()">
<div class="form-group">
<label class="col-sm-2 control-label">${details.feed_url}</label>
<label class="col-sm-2 control-label">{{ 'details.feed_url' | translate }}</label>
<div class="col-sm-10">
<div class="checkbox">
<a ng-show="user.apiKey" href="{{'rest/category/entriesAsFeed?id=all&tag=' + tag + '&apiKey=' + user.apiKey}}" target="_blank">${global.link}</a>
<span ng-show="!user.apiKey">${details.generate_api_key_first}</span>
<a ng-show="user.apiKey" href="{{'rest/category/entriesAsFeed?id=all&tag=' + tag + '&apiKey=' + user.apiKey}}" target="_blank">{{ 'global.link' | translate }}</a>
<span ng-show="!user.apiKey">{{ 'details.generate_api_key_first' | translate }}</span>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="button" class="btn btn-default" ng-click="back()">${global.cancel}</button>
<button type="button" class="btn btn-default" ng-click="back()">{{ 'global.cancel' | translate }}</button>
</div>
</div>
</form>

View File

@@ -2,21 +2,21 @@
<div class="entrylist-header" ng-if="name">
<h3>
<span ng-switch on="selectedId">
<span ng-switch-when="all">${tree.all}</span>
<span ng-switch-when="starred">${tree.starred}</span>
<span ng-switch-when="all">{{ 'tree.all' | translate }}</span>
<span ng-switch-when="starred">{{ 'tree.starred' | translate }}</span>
<span ng-switch-default>
<span ng-hide="feedLink">{{name}}</span>
<a ng-show="feedLink" href="{{feedLink}}" target="_blank">{{name}}</a>
</span>
</span>
<span ng-show="name"> &#187;</span>
<span ng-show="keywords">${view.search_for} '{{keywords}}'</span>
<span ng-show="keywords">{{ 'view.search_for' | translate }} '{{ keywords }}'</span>
</h3>
</div>
<div infinite-scroll="loadMoreEntries()" infinite-scroll-disabled="busy || !settingsService.settings.readingMode"
infinite-scroll-distance="1" id="feed-accordion" ng-class="{'expanded' : settingsService.settings.viewMode == 'expanded' }">
<div ng-show="message && errorCount > 10">${view.error_while_loading_feed} : {{message}}</div>
<div ng-show="message && errorCount > 10">{{ 'view.error_while_loading_feed} : {{message}' | translate }}</div>
<div ng-repeat="entry in entries" class="entry entry-font-size-{{font_size}}" id="entry_{{entry.id}}"
ng-class="{unread: entry.read == false, current: current==entry, open: isOpen, closed: !isOpen }">
<div class="entry-heading" ng-swipe-right="mark(entry, !entry.read)">
@@ -42,13 +42,13 @@
<a href="{{entry.url}}" target="_blank" ng-bind-html="entry.title | highlight:keywords | trustHtml"></a>
<div class="entry-subtitle">
<span class="entry-source" ng-if="selectedType == 'category'">
<span class="entry-source-prefix">${view.entry_source}</span>
<span class="entry-source-prefix">{{ 'view.entry_source' | translate }}</span>
<a ng-click="goToFeed(entry.feedId)" class="pointer bidi-embed">
<span>{{entry.feedName}}</span>
</a>
</span>
<span class="entry-author" ng-if="entry.author">
<span class="entry-author-prefix">${view.entry_author}</span>
<span class="entry-author-prefix">{{ 'view.entry_author' | translate }}</span>
<span class="entry-author-name">{{entry.author}}</span>
</span>
</div>
@@ -69,7 +69,7 @@
<div ng-if="entry.enclosureType && entry.enclosureType.indexOf('image') == 0">
<img ng-src="{{entry.enclosureUrl | trustUrl}}" />
</div>
<a ng-href="{{entry.enclosureUrl | trustUrl}}" target="_blank" ng-if="entry.enclosureType" download> ${global.download} </a>
<a ng-href="{{entry.enclosureUrl | trustUrl}}" target="_blank" ng-if="entry.enclosureType" download> {{ 'global.download' | translate }} </a>
</div>
</div>
<div class="entry-buttons form-inline">
@@ -79,7 +79,7 @@
<div class="checkbox-inline keep-unread">
<label ng-if="entry.markable" class="pointer">
<input type="checkbox" ng-checked="!entry.read" ng-click="mark(entry, !entry.read)" class="mousetrap"></input>
${view.keep_unread}
{{ 'view.keep_unread' | translate }}
</label>
</div>
@@ -126,22 +126,22 @@
<span class="tags-panel">
<tags entry="entry"></tags>
</span>
<a ng-click="markUpTo(entry)" class="mark-up-to" title="${view.mark_up_to_here}">
<a ng-click="markUpTo(entry)" class="mark-up-to" title="{{ 'view.mark_up_to_here' | translate }}">
<i class="icon-step-forward icon-rotate-90"></i>
</a>
</div>
</div>
</div>
<div class="no-entries" ng-show="name && entries.length == 0 && !busy">
<span ng-show="keywords">${view.no_search_results}</span>
<span ng-hide="keywords">"{{name}}" ${view.no_unread_items}</span>
<span ng-show="keywords">{{ 'view.no_search_results' | translate }}</span>
<span ng-hide="keywords">"{{name}}" {{ 'view.no_unread_items' | translate }}</span>
</div>
<div modal="shortcutsModal" close="shortcutsModal=false" options="shortcutsOpts">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" ng-click="shortcutsModal=false">&times;</button>
<h4>${about.keyboard_shortcuts}</h4>
<h4>{{ 'about.keyboard_shortcuts' | translate }}</h4>
</div>
<div class="modal-body" ng-include="'templates/_shortcuts.html'"></div>
</div>

View File

@@ -1,64 +1,64 @@
<div class="profile">
<div class="page-header">
<h1>${toolbar.profile}</h1>
<h1>{{ 'toolbar.profile' | translate }}</h1>
</div>
<form name="profileForm" ng-submit="save()" class="form-horizontal">
<div class="form-group">
<label class="col-sm-2 control-label" for="email">${profile.user_name}</label>
<label class="col-sm-2 control-label" for="email">{{ 'profile.user_name' | translate }}</label>
<div class="col-sm-10 checkbox">
<span>{{user.name}}</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="email">${profile.email}</label>
<label class="col-sm-2 control-label" for="email">{{ 'profile.email' | translate }}</label>
<div class="col-sm-10">
<input type="email" id="email" ng-model="user.email" class="form-control" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="password">${profile.change_password}</label>
<label class="col-sm-2 control-label" for="password">{{ 'profile.change_password' | translate }}</label>
<div class="col-sm-10">
<input type="password" name="password" id="password" ng-model="user.password" class="form-control" ng-minlength="6" />
<span class="help-inline" ng-show="profileForm.password.$error.minlength">${profile.minimum_6_chars}</span>
<span class="help-inline" ng-show="profileForm.password.$error.minlength">{{ 'profile.minimum_6_chars' | translate }}</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="password">${profile.confirm_password}</label>
<label class="col-sm-2 control-label" for="password">{{ 'profile.confirm_password' | translate }}</label>
<div class="col-sm-10">
<input type="password" class="form-control" name="password_c" id="password_c" ng-model="password_c"
ui-validate="'$value==user.password'" ui-validate-watch="'user.password'">
<span class="help-inline" ng-show="profileForm.password_c.$error.validator">${profile.passwords_do_not_match}</span>
<span class="help-inline" ng-show="profileForm.password_c.$error.validator">{{ 'profile.passwords_do_not_match' | translate }}</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="password">${profile.api_key}</label>
<label class="col-sm-2 control-label" for="password">{{ 'profile.api_key' | translate }}</label>
<div class="col-sm-10">
<pre ng-show="user.apiKey">{{user.apiKey}}</pre>
<span class="help-block" ng-show="!user.apiKey">${profile.api_key_not_generated}</span>
<span class="help-block" ng-show="!user.apiKey">{{ 'profile.api_key_not_generated' | translate }}</span>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="password">${profile.generate_new_api_key}</label>
<label class="col-sm-2 control-label" for="password">{{ 'profile.generate_new_api_key' | translate }}</label>
<div class="col-sm-10">
<div class="checkbox">
<input type="checkbox" name="newApiKey" id="newApiKey" ng-model="newApiKey">
<span class="help-inline">${profile.generate_new_api_key_info}</span>
<span class="help-inline">{{ 'profile.generate_new_api_key_info' | translate }}</span>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" for="password">${profile.opml_export}</label>
<label class="col-sm-2 control-label" for="password">{{ 'profile.opml_export' | translate }}</label>
<div class="col-sm-10 checkbox">
<a href="rest/feed/export" download="commafeed_opml.xml">${global.download}</a>
<a href="rest/feed/export" download="commafeed_opml.xml">{{ 'global.download' | translate }}</a>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary">${global.save}</button>
<button type="button" class="btn btn-danger" ng-click="deleteAccount()" confirm-click="${profile.delete_account_confirmation}">${profile.delete_account}</button>
<button type="button" class="btn btn-default" ng-click="cancel()">${global.cancel}</button>
<button type="submit" class="btn btn-primary">{{ 'global.save' | translate }}</button>
<button type="button" class="btn btn-danger" ng-click="deleteAccount()" confirm-click="'profile.delete_account_confirmation' | translate">{{ 'profile.delete_account' | translate }}</button>
<button type="button" class="btn btn-default" ng-click="cancel()">{{ 'global.cancel' | translate }}</button>
</div>
</div>
</form>

View File

@@ -1,16 +1,16 @@
<div class="settings">
<div class="page-header">
<h1>${toolbar.settings}</h1>
<h1>{{ 'toolbar.settings' | translate }}</h1>
</div>
<form name="settingsForm" ng-submit="save()">
<div class="row">
<div class="col-md-2">
<ul class="nav nav-pills nav-stacked">
<li ng-class="{active: !tab || tab == 'general'}" class="pointer">
<a ng-click="tab = 'general'">${settings.general}</a>
<a ng-click="tab = 'general'">{{ 'settings.general.value' | translate }}</a>
</li>
<li ng-class="{active: tab == 'css'}" class="pointer">
<a ng-click="tab = 'css'">${settings.appearance}</a>
<a ng-click="tab = 'css'">{{ 'settings.appearance' | translate }}</a>
</li>
</ul>
</div>
@@ -19,29 +19,29 @@
<div class="tab-pane" ng-class="{active: !tab || tab == 'general'}">
<div class="form-horizontal">
<div class="form-group">
<label>${settings.general.language}</label>
<label>{{ 'settings.general.language' | translate }}</label>
<select name="language" ng-model="settings.language" class="form-control"
ng-options="id as label for (id,label) in ServerService.supportedLanguages" required>
ng-options="id as label for (id,label) in langs" required>
</select>
<span class="help-block">
<a href="https://github.com/Athou/commafeed#translate-commafeed-into-your-language" target="_blank">
${settings.general.language.contribute} </a>
{{ 'settings.general.language_contribute' | translate }} </a>
</span>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="showRead" ng-model="settings.showRead" />
${settings.general.show_unread}
{{ 'settings.general.show_unread' | translate }}
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="scrollMarks" ng-model="settings.scrollMarks" />
${settings.general.scroll_marks}
{{ 'settings.general.scroll_marks' | translate }}
</label>
</div>
<div>
<h4>${settings.general.social_buttons}</h4>
<h4>{{ 'settings.general.social_buttons' | translate }}</h4>
<div>
<label>
<input type="checkbox" name="email" ng-model="settings.email" />
@@ -117,19 +117,19 @@
</div>
<div class="tab-pane" ng-class="{active: tab == 'css'}">
<div class="form-group">
<label>${settings.scroll_speed}</label>
<label>{{ 'settings.scroll_speed' | translate }}</label>
<input type="number" ng-model="settings.scrollSpeed" min="0" max="1000" class="form-control" />
<span class="help-inline">${settings.scroll_speed.help}</span>
<span class="help-inline">{{ 'settings.scroll_speed_help' | translate }}</span>
</div>
<div class="form-group">
<label>${settings.theme}</label>
<label>{{ 'settings.theme' | translate }}</label>
<select ng-model="settings.theme" ng-options="theme for theme in themes" class="form-control"></select>
<span class="help-block">
<a href="https://github.com/Athou/commafeed#themes" target="_blank"> ${settings.submit_your_theme} </a>
<a href="https://github.com/Athou/commafeed#themes" target="_blank"> {{ 'settings.submit_your_theme' | translate }} </a>
</span>
</div>
<div class="form-group">
<label>${settings.custom_css}</label>
<label>{{ 'settings.custom_css' | translate }}</label>
<textarea ng-model="settings.customCss" class="form-control" rows="20">
</textarea>
</div>
@@ -138,8 +138,8 @@
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-primary">${global.save}</button>
<button type="button" class="btn btn-default" ng-click="cancel()">${global.cancel}</button>
<button type="submit" class="btn btn-primary">{{ 'global.save' | translate }}</button>
<button type="button" class="btn btn-default" ng-click="cancel()">{{ 'global.cancel' | translate }}</button>
</div>
</form>
</div>

View File

@@ -209,8 +209,8 @@ public class CommaFeedApplication extends Application<CommaFeedConfiguration> {
environment.lifecycle().manage(feedUpdater);
environment.lifecycle().manage(schedulingService);
// TODO translations
// TODO swagger ui
// TODO select2 images
}