﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ur_IN.xml
// *
// ***************************************************************************
ur_IN{
    NumberElements{
        default{"arabext"}
    }
    Version{"2.1.13.23"}
    calendar{
        generic{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE، d MMMM، y G",
                "d MMMM، y G",
                "d MMM، y G",
                "d/M/yy GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
        }
        gregorian{
            eras{
                abbreviated{
                    "قبل مسیح",
                    "عیسوی",
                }
                wide{
                    "قبل مسیح",
                    "عیسوی",
                }
            }
        }
    }
    fields{
        day-narrow{
            relativeTime{
                past{
                    one{"{0} دن قبل"}
                    other{"{0} دن قبل"}
                }
            }
        }
        day-short{
            relativeTime{
                future{
                    one{"{0} دنوں میں"}
                    other{"{0} دنوں میں"}
                }
            }
        }
        era{
            dn{"دور"}
        }
        fri{
            relative{
                "-1"{"پچھلے جمعہ"}
            }
        }
        hour-narrow{
            relativeTime{
                past{
                    one{"{0} گھنٹہ قبل"}
                    other{"{0} گھنٹے قبل"}
                }
            }
        }
        hour-short{
            relativeTime{
                past{
                    one{"{0} گھنٹے قبل"}
                    other{"{0} گھنٹے قبل"}
                }
            }
        }
        minute{
            relativeTime{
                past{
                    one{"{0} منٹ قبل"}
                    other{"{0} منٹ قبل"}
                }
            }
        }
        minute-narrow{
            relativeTime{
                past{
                    one{"{0} منٹ قبل"}
                    other{"{0} منٹ قبل"}
                }
            }
        }
        minute-short{
            relativeTime{
                past{
                    one{"{0} منٹ قبل"}
                    other{"{0} منٹ قبل"}
                }
            }
        }
        mon{
            relative{
                "-1"{"پچھلے سوموار"}
            }
        }
        month{
            relative{
                "-1"{"گزشتہ ماہ"}
                "0"{"اس ماہ"}
                "1"{"اگلے ماہ"}
            }
            relativeTime{
                future{
                    one{"{0} ماہ میں"}
                    other{"{0} ماہ میں"}
                }
                past{
                    one{"{0} ماہ قبل"}
                    other{"{0} ماہ قبل"}
                }
            }
        }
        month-narrow{
            dn{"مہینہ"}
            relativeTime{
                past{
                    one{"{0} ماہ قبل"}
                    other{"{0} ماہ قبل"}
                }
            }
        }
        month-short{
            dn{"مہینہ"}
        }
        sat{
            relative{
                "-1"{"پچھلے ہفتہ"}
                "0"{"اس ہفتہ"}
            }
        }
        second{
            relativeTime{
                past{
                    one{"{0} سیکنڈ قبل"}
                    other{"{0} سیکنڈ قبل"}
                }
            }
        }
        second-narrow{
            relativeTime{
                past{
                    one{"{0} سیکنڈ قبل"}
                    other{"{0} سیکنڈ قبل"}
                }
            }
        }
        second-short{
            relativeTime{
                past{
                    one{"{0} سیکنڈ قبل"}
                    other{"{0} سیکنڈ قبل"}
                }
            }
        }
        thu{
            relative{
                "-1"{"پچھلے جمعرات"}
            }
        }
        tue{
            relative{
                "-1"{"پچھلے منگل"}
            }
        }
        wed{
            relative{
                "-1"{"پچھلے بدھ"}
            }
        }
        week{
            relative{
                "-1"{"گزشتہ ہفتہ"}
            }
            relativeTime{
                future{
                    one{"{0} ہفتہ میں"}
                    other{"{0} ہفتوں میں"}
                }
                past{
                    one{"{0} ہفتہ قبل"}
                    other{"{0} ہفتے قبل"}
                }
            }
        }
        week-narrow{
            relativeTime{
                past{
                    one{"{0} ہفتہ قبل"}
                    other{"{0} ہفتے قبل"}
                }
            }
        }
        week-short{
            relativeTime{
                past{
                    one{"{0} ہفتے قبل"}
                    other{"{0} ہفتے قبل"}
                }
            }
        }
        year{
            relativeTime{
                future{
                    one{"{0} سال میں"}
                    other{"{0} سالوں میں"}
                }
            }
        }
        year-short{
            relativeTime{
                future{
                    one{"{0} سال میں"}
                    other{"{0} سالوں میں"}
                }
                past{
                    one{"{0} سال پہلے"}
                    other{"{0} سالوں پہلے"}
                }
            }
        }
    }
    listPattern{
        unit{
            2{"{1}، {0}"}
            end{"{1}، {0}"}
        }
        unit-narrow{
            2{"{1} {0}"}
            end{"{1} {0}"}
            middle{"{1} {0}"}
            start{"{1} {0}"}
        }
        unit-short{
            2{"{1}، {0}"}
            end{"{1}، {0}"}
        }
    }
}
